Я установилlessc
через npm
, Node.js Package Manager, и когда я запускаю lessc
из терминала, используя
lessc /var/www/less/style.less /var/www/css/style.css
работает отлично.
Однако, когда я вставляю эту же команду в скрипт bash, less.sh
он возвращает ошибку
lessc : command not found.
Кроме того, мне нужно запустить эту команду из скрипта bash, потому что incron
программа, которую я использую для перекомпиляции моего скрипта less каждый раз после его изменения, не может запустить указанную выше команду, что, как я полагаю, может быть вызвано странными методами обработки пробелов в команде.
решение1
npm install -g less
Это устанавливает Less.js глобально. Возможно, вы уже пробовали это, но в документации этого нетhttp://lesscss.org/; Мне пришлось поспрашивать в #node.js на FreeNode.
решение2
Где находится исполняемый файл "lessc"?
type -p lessc
и обратите внимание на каталог, и выясните, где этот каталог добавлен в ваш PATH. Я думаю, что bash и incron по-разному получают ваши файлы настройки (.bashrc и т. д.). Читая страницу руководства Bash, раздел INVOCATION описывает, как bash находит свои файлы запуска. Быстрый grep по исходному коду incron показывает, что он не упоминает .bashrc или .bash_profile.
Вы можете изменить команду «lessc» в своем скрипте следующим образом:
/actual/path/to/lessc
что вы нашли через
type -p lessc
решение3
в лубунту:
$ 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