Я установил lessc
через npm
, менеджер пакетов Node.js, и когда я запускаю lessc
из терминала, используя
lessc /var/www/less/style.less /var/www/css/style.css
, он работает отлично. [ 118]
Однако, когда я помещаю эту точно такую же команду в скрипт bash, less.sh
, она возвращает ошибку
blockquote>
lessc : command not found.
Также мне нужно запустить эта команда из сценария bash, потому что
incron
, программа, которую я использую для повторной компиляции своего сценария less при каждой их модификации, не может выполнить указанную выше команду, которая, как я полагаю, может быть вызвана странными методами для обработка пробелов в команде.
Где находится исполняемый файл "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