2014-10-11 3 views
0

Я установил node.js из источников (./configure && make && make install) под /usr/local/bin/node. Впоследствии я установил меньше компилятора по всему миру с npm -g install less под номером /usr/local/lib/node_modules/less/. Таким образом, узлы и меньше расположены по своим путям по умолчанию.node.js через FastCGI/PHP: Ошибка: не удается найти модуль «меньше»

Я использую kriswallsmith/assetic для компиляции моих меньших файлов через PHP, поэтому я скорректировал путь до /usr/local/bin/node. Каждый раз, когда я запускаю свой скрипт, я получаю ошибку Error: Cannot find module 'less', у меня было такое же поведение через командную строку. Но я нашел solution (ln -s /usr/local/lib/node_modules/ ~/.node_libraries), чтобы исправить эту проблему, и после этого он работал в командной строке. Через PHP проблема все еще сохраняется - PHP работает через FastCGI с тем же пользователем, которого я использовал в командной строке.

Как я могу исправить эту проблему через FastCGI/PHP тоже?

+0

Вы должны уметь «npm link less» в своей директории проектов и создать символическую ссылку для вашей глобальной установки 'less'. – mscdex

+0

Это не имеет значения. – RoyalKnight

ответ

0

Конструктор ассистентского LessFilter принимает массив узлов. Добавление /usr/local/lib/node_modules/ в качестве nodePath решает проблему.

Смежные вопросы