2012-12-11 5 views
10

Ich versuche, mein Projekt durch einfaches Ausführen make im obersten Verzeichnis zu bauen. Allerdings, wenn ich tue, bekomme ich folgende Fehlermeldung:Sublime Text Build System, das nur "make"

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

Dies ist nach der Build-Konfiguration Make Einstellung.

Ich bin auf Sublime Text 2.0.1, OS X 10.8.2. Mein Makefile besteht aus der Ausführung von global installierten node.js Binärdateien. Was muss ich tun?

+1

Für den Fall, Linux-Anwender diese waren auf der Suche: (http [Strg + M Makefile mit Sublime + Linux laufen]: // stackoverflow.com/q/21709896/562769) –

Antwort

13

Dies liegt daran, make ist nicht in Ihrem PATH. Wenn Sie das Terminal erstellen können, verwenden Sie which make, um den Pfad zu make herauszufinden, und fügen Sie dann den Pfad zum Build hinzu. Sie können die makefile build system bearbeiten, um Ihren Pfad hinzuzufügen.

Ihre neue Make-Datei Regel soll wie folgt aussehen:

{ 
    "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"] 
     } 
    ] 
} 

Dieses im Grunde das Ziel Standard make ist, aber ich zu dem Pfad hinzugefügt, und (natürlich) ein Testziel. Möglicherweise müssen Sie den Pfad erweitern, um gcc, ifort oder was auch immer Sie zum Kompilieren verwenden. Use : to separate directories on Linux and Mac, and ; on Windows. Sie können auch andere Umgebungsvariablen ändern, ich musste DYLD_LIBRARY_PATH und CPATH setzen, damit meine Bibliotheken und Include-Verzeichnisse verfügbar wären.

Es sollte als Make (OSX) .sublime-build im Benutzerverzeichnis Ihrer Sublime Einstellungen gespeichert werden. Der (OSX) stellt sicher, dass diese Datei nur auf dem Mac verwendet wird. Wenn Sie also Ihre Einstellungen auf einen Nicht-Mac-Computer kopieren, wird der Pfad nicht verworfen.

+0

bedeutet das, dass ich eine Build-Datei für jedes einzelne Projekt erstellen müsste? –

+0

Sie können sowohl Benutzerkonfigurationsdateien als auch Builddateien auf Projektebene erstellen. – dbn

+0

in Ordnung, also ist mein Pfad '/ usr/bin/make', also habe ich'/usr/bin' meinen Weg gemacht. Jetzt bekomme ich 'make: component: Keine solche Datei oder Verzeichnis'. Ich denke, ich muss erhabenen Text über '/ usr/local/bin/component' und/oder'/usr/local/bin' wissen lassen. Wie mache ich das? –

1

Eine viel vorzuziehende Lösung ist IMO, den PATH in einem Plugin anzupassen, also muss man es nur einmal für alle Build-Systeme und alle Plugins setzen, die externe Befehle aufrufen.

können Sie nur

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

Ein echtes Beispiel tun lebt bei https://github.com/schlamar/ST3User/blob/master/preferences.py

Verwandte Themen