ich habe installiertlessc
über npm
, Node.js Package Manager, und wenn ich lessc
vom 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.sh
wird der Fehler zurückgegeben
lessc : command not found.
Außerdem muss ich diesen Befehl von einem Bash-Skript aus ausführen, da incron
ein 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