我在./configure && make && make install
下的源(/usr/local/bin/node
)安装了node.js.之后,我在npm -g install less
下使用/usr/local/lib/node_modules/less/
全局安装了less编译器。因此node和less位于其默认路径下。
我正在使用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 :(得分:0)
assetic的LessFilter的构造函数接受一个nodePaths数组。添加/usr/local/lib/node_modules/
作为nodePath可以解决问题。