"команда не найдена" при запуске "lessc" из bash

Я установил lessc с помощью npm, Менеджер пакетов Node.js, и когда я запускаю lessc от терминала с помощью

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

это работает отлично.
Однако, когда я помещаю эту же команду в скрипт bash, less.sh возвращает ошибку

lessc : command not found.

Также мне нужно запустить эту команду из скрипта bash, потому что incron Программа, которую я использую для повторной компиляции своего сценария less при каждой их модификации, не может запустить указанную выше команду, которая, как я полагаю, может быть вызвана странными методами обработки пробелов в команде.

3 ответа

Решение

Где находится исполняемый файл "lessc"? Делать:

type -p lessc

и запомните каталог, и выясните, где этот каталог добавлен в вашу PATH. Я думаю, что bash и incron не используют ваши установочные файлы (.bashrc и т. Д.) Одинаково. Читая справочную страницу Bash, раздел INVOCATION описывает, как bash находит свои файлы запуска. Быстрый поиск источника incron показывает, что он не упоминает.bashrc или.bash_profile.

Вы можете изменить команду "lessc" в вашем скрипте на:

/actual/path/to/lessc

что вы нашли через

type -p lessc
npm install -g less

Это устанавливает Less.js во всем мире. Возможно, вы уже попробовали это, но этого нет в документации на http://lesscss.org/; Я должен был спросить в #node.js на FreeNode.

В Лубунту:

$ 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
Другие вопросы по тегам