Die Verwendung von Fish + NVM + Sublime führt dazu, dass Befehle nicht gefunden werden

576
brandonscript

Ich verwende Fish Shell / omf, NVM ( https://github.com/derekstavis/plugin-nvm ) und Sublime Text 3. Ich versuche, ein Build-System zu verwenden nodemon(das ich installiert habe npm -g install nodemon). nodemonfunktioniert gut aus einer einheimischen Fish Shell:

~ » nodemon 15:47:56 Usage: nodemon [nodemon options] [script.js] [args]  See "nodemon --help" for more. 

Wenn ich renne which nodemon, bekomme ich:

~ » which nodemon 15:48:05 /Users/me/.nvm/versions/node/v7.5.0/bin/nodemon 

(erwartet, was ich verstehe).

Das Problem:

Sublime scheint den NVM-Pfad nicht zu erkennen. Nehmen Sie dieses Build-System:

{ "shell": true, "cmd": ["nodemon '$file'"], "selector":"source.js" }  /bin/sh: nodemon: command not found [Finished in 0.0s with exit code 127] [cmd: ["nodemon '/Users/me/Dev/tmp/nodemon-test.js'"]] [dir: /Users/brandon/Dev/tmp] [path: /usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin] 

Ich sehe, dass die Pfadvariable für Sublime nicht über den NVM-Suchpfad verfügt:

~ » echo $PATH 15:48:20 /Users/me/.nvm/versions/node/v7.5.0/bin /usr/local/bin /usr/bin /bin /usr/sbin /sbin 

Was ist der richtige Weg, um das Problem zu beheben, damit Sublimes $ PATH mit dem $ PATH von Terminal übereinstimmt? Ich würde erwarten, dass es auch dann weiter funktioniert, wenn ich mit NVM die Node-Versionen wechsle.

Bearbeiten:

Ja, ich verwende die omf- Lösung für NVM, die funktioniert, weil ich sowohl direkt nodemonals auch nodevom Terminal aus arbeiten kann.

2

1 Antwort auf die Frage

0
idleberg

Sie können eine Option für die pathBuild-Datei angeben.

PS: Ich gehe davon aus, dass Sie bereits Fische eingerichtet haben, um nvm zu unterstützen

Ja zu Ihrem zweiten Punkt, aber was die Pfadoption angeht, bedeutet das, dass ich jedes Mal, wenn ich die Knotenversion ändere, das im Buildsystem manuell aktualisieren muss, oder? Es sei denn, NVM hat irgendwo einen Alias ​​für "aktuelle Version"? brandonscript vor 7 Jahren 0