Я установил node.js из источников (./configure && make && make install
) под /usr/local/bin/node
, После этого я установил менее компилятор глобально с npm -g install less
под /usr/local/lib/node_modules/less/
, Таким образом, узел и менее расположены под их путями по умолчанию.
я использую kriswallsmith/assetic
чтобы компилировать мои меньше файлов через PHP, поэтому я настроил путь к /usr/local/bin/node
, Каждый раз, когда я запускаю свой скрипт, я получаю ошибку Error: Cannot find module 'less'
У меня было такое же поведение через командную строку. Но я нашел решение (ln -s /usr/local/lib/node_modules/ ~/.node_libraries
), чтобы исправить проблему, и после этого она работала в командной строке. Через PHP проблема все еще сохраняется — PHP работает через FastCGI с тем же пользователем, которого я использовал в командной строке.
Как я могу исправить эту проблему через FastCGI / PHP тоже?
Конструктор LessFilter ассемблера принимает массив nodePaths. Добавление /usr/local/lib/node_modules/
так как nodePath решает проблему.
Других решений пока нет …