2012-12-11 34 views
10

Tôi đang cố gắng xây dựng dự án của mình bằng cách thực hiện đơn giản make trong thư mục trên cùng. Tuy nhiên, khi tôi làm vậy, tôi nhận được lỗi sau:Hệ thống xây dựng văn bản cao cấp chỉ "làm"

[Errno 2] No such file or directory 
[cmd: [u'make']] 
[dir: /Users/jonathanong/Workspace/template] 
[path: /usr/local/bin] 
[Finished] 

Đây là sau khi đặt cấu hình xây dựng thành Make.

Tôi đang ở trên Sublime Text 2.0.1, OS X 10.8.2. Makefile của tôi bao gồm việc thực thi các tập tin nhị phân được cài đặt toàn cầu node.js. Tôi phải làm gì đây?

+1

Chỉ trong trường hợp người dùng Linux đang tìm kiếm này: [Ctrl + M để chạy Makefile với Sublime + Linux] (http: // stackoverflow.com/q/21709896/562769) –

Trả lời

13

Điều này là do make không có trong PATH của bạn. Nếu bạn có thể xây dựng trong thiết bị đầu cuối, sử dụng which make để tìm ra đường dẫn đến make, và sau đó thêm nó vào đường dẫn để xây dựng. Bạn có thể chỉnh sửa makefile build system để thêm đường dẫn của mình.

quy tắc makefile mới của bạn sẽ trông giống như:

{ 
    "cmd": ["make"], 
    "file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$", 
    "working_dir": "${project_path:${folder:${file_path}}}", 
    "selector": "source.makefile", 
    "path": "/usr/local/bin:/Applications/Xcode.app/Contents/Developer/usr/bin", 
    "variants": 
    [ 
     { 
     "name": "Clean", 
     "cmd": ["make", "clean"] 
     }, 
     { 
     "name": "Test", 
     "cmd": ["make", "test"] 
     } 
    ] 
} 

này về cơ bản là mục tiêu mặc định make, nhưng tôi thêm vào PATH, và (tất nhiên) một mục tiêu thử nghiệm. Bạn có thể phải mở rộng PATH để tìm gcc, ifort, hoặc bất cứ điều gì bạn đang sử dụng để biên dịch. Use : to separate directories on Linux and Mac, and ; on Windows. Bạn cũng có thể thay đổi các biến môi trường khác, tôi đã phải thiết lập DYLD_LIBRARY_PATH và CPATH để các thư viện của tôi và bao gồm các thư mục sẽ có sẵn.

Nó sẽ được lưu dưới dạng Make (OSX) .sublime-build trong thư mục User của tùy chọn Sublime. (OSX) sẽ đảm bảo rằng tệp này chỉ được sử dụng trên máy Mac, vì vậy khi bạn sao chép tùy chọn của mình sang máy tính không phải mac, bạn sẽ không tải lên đường dẫn.

+0

có nghĩa là tôi sẽ phải tạo một tệp xây dựng cho mỗi dự án đơn lẻ không? –

+0

Bạn có thể có cả tệp xây dựng cài đặt người dùng và tệp xây dựng mức dự án. – dbn

+0

Được rồi, đường dẫn của tôi là '/ usr/bin/make', vì vậy tôi đã tạo đường dẫn'/usr/bin' của mình. Bây giờ tôi nhận được thành phần 'make:: Không có tập tin hoặc thư mục nào'. Tôi đoán tôi cần để cho văn bản tuyệt vời biết về '/ usr/local/bin/component' và/hoặc'/usr/local/bin'. Làm thế nào để làm điều đó? –

1

Một giải pháp thích hợp hơn là IMO để điều chỉnh PATH trong plugin, vì vậy bạn phải đặt nó một lần cho tất cả các hệ thống xây dựng và tất cả các plugin gọi các lệnh bên ngoài.

Bạn chỉ có thể làm

import os 
os.environ['PATH'] += os.pathsep + '/my/extra/path' 

Bất dụ trên thế giới sống tại https://github.com/schlamar/ST3User/blob/master/preferences.py

Các vấn đề liên quan