„Befehl nicht gefunden“ beim Ausführen von „lessc“ von Bash

„Befehl nicht gefunden“ beim Ausführen von „lessc“ von Bash

ich habe installiertlesscüber npm, Node.js Package Manager, und wenn ich lesscvom Terminal aus mit

lessc /var/www/less/style.less /var/www/css/style.css

es funktioniert perfekt.
Wenn ich jedoch genau denselben Befehl in ein Bash-Skript einfüge, less.shwird der Fehler zurückgegeben

lessc : command not found.

Außerdem muss ich diesen Befehl von einem Bash-Skript aus ausführen, da incronein Programm, mit dem ich mein Less-Skript nach jeder Änderung neu kompiliere, den oben genannten Befehl nicht ausführen kann. Die Ursache dafür könnte meiner Ansicht nach in seltsamen Methoden zur Behandlung von Leerzeichen im Befehl liegen.

Antwort1

npm install -g less

Dadurch wird Less.js global installiert. Vielleicht haben Sie dies bereits versucht, aber es steht nicht in der Dokumentation aufhttp://lesscss.org/; ich musste mich in #node.js auf FreeNode umhören.

Antwort2

Wo ist die ausführbare Datei „lessc“? Gehen Sie folgendermaßen vor:

type -p lessc

und notieren Sie sich das Verzeichnis und finden Sie heraus, wo dieses Verzeichnis zu Ihrem PATH hinzugefügt wird. Ich denke, dass Bash und Incron Ihre Setup-Dateien (.bashrc usw.) nicht auf die gleiche Weise beziehen. Wenn Sie die Bash-Manpage lesen, wird im Abschnitt INVOCATION beschrieben, wie Bash seine Startdateien findet. Ein schnelles Grep durch die Incron-Quelle zeigt, dass .bashrc oder .bash_profile nicht erwähnt werden.

Sie können den Befehl „lessc“ in Ihrem Skript wie folgt ändern:

/actual/path/to/lessc

die Sie gefunden haben über

type -p lessc

Antwort3

in Lubuntu:

$ type -p lessc
$ lessc
El programa «lessc» no está instalado. Puede instalarlo escribiendo:
sudo apt-get install node-less
$ sudo apt-get install node-less

verwandte Informationen