2016-08-02 19 views
0

Bei den meisten NPM-Pakete können Sie ihre Kommandozeilen-Anwendung aufrufen, indem sie aus dem bin Ordner in den Paketordner in node_modules ausgeführt wird:Gibt es eine Möglichkeit, den Kompass zu installieren und ihn trotzdem an der Befehlszeile auszuführen?

npm install foo 
./node_modules/foo/bin/foo 

Jetzt natürlich Sie dies einfach mehr tun können, wenn Sie das Paket global installieren:

npm install -g foo 
foo 

aber das wird allgemein als eine schlechte Praxis angesehen.

Mit dem compass Paket scheint dies jedoch nicht der Fall zu sein. Wenn Sie das tun:

npm install compass 

das node_modules Verzeichnis des Pakets nicht einmal einen bin Ordner.

Also, meine Frage ist, gibt es sowieso, um Kompass nicht-global zu installieren, aber immer noch in der Lage sein, es über die Befehlszeile aufzurufen?

P.S. Ich weiß, dass ich Kompass auch durch das System installieren könnte, dh. sudo apt-get install compass, aber ich hatte gehofft, ich könnte meinen Prozess einfach halten und NPM alles verwalten lassen.

Antwort

0

Es stellt sich heraus, die Antwort ist nein, weil das NPM-Paket compass Kompass nicht enthält. Vielmehr ist das Paket ein JS-Frontend für die Compass-Datei, die separat installiert werden muss. Vermutlich liegt das daran, dass Compass auf Ruby angewiesen ist und Ruby nicht zu einer Paketabhängigkeit machen wollte.

Also, wenn Sie Compass verwenden möchten, muss es Teil der System-Ebene sein (auf Linux, apt-get install) Setup.