【发布时间】:2014-02-14 14:01:07
【问题描述】:
我将我所有的 node.js 依赖项嵌入到项目中并且所有的工作,除了“less”。关于如何解决这个问题的任何想法?
这是我的配置:
assetic:
debug: %kernel.debug%
use_controller: false
node: "%assetic_node%"
node_paths:
- "%kernel.root_dir%/Resources/node_modules/"
- "%kernel.root_dir%/Resources/node_modules/less/node_modules/"
- "/usr/lib/node_modules/"
- "/usr/local/lib/node_modules/"
- "/opt/local/lib/node_modules/"
- "/root/node_modules/"
filters:
cssmin: ~
cssrewrite: ~
less:
apply_to: "\.less$"
bin: %kernel.root_dir%/Resources/node_modules/less/bin/lessc
coffee:
apply_to: "\.coffee$"
bin: %kernel.root_dir%/Resources/node_modules/coffee-script/bin/coffee
uglifyjs2:
apply_to: "\.js$"
bin: %kernel.root_dir%/Resources/node_modules/uglify-js/bin/uglifyjs
uglifycss:
apply_to: "\.css$"
bin: %kernel.root_dir%/Resources/node_modules/uglifycss/uglifycss
运行assetic:dump时出现以下错误:
[Assetic\Exception\FilterException]
An error occurred while running:
'/usr/bin/node' '/tmp/assetic_lessFnBKuF'
Error Output:
module.js:340
throw err;
^
Error: Cannot find module 'less'
at Function.Module._resolveFilename (module.js:338:15)
at Function.Module._load (module.js:280:25)
at Module.require (module.js:364:17)
at require (module.js:380:17)
at Object.<anonymous> (/tmp/assetic_lessFnBKuF:1:74)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Function.Module.runMain (module.js:497:10)
【问题讨论】:
-
Coffeescript 真的有效还是 Less 只是第一个失败的?
-
少是第一个失败的。
-
如果我禁用 less 过滤器,一切正常,包括 coffescript。
-
我知道这不是一个答案,但可能会对这个 LESS 编译器的 PHP 实现感兴趣:isometriks.com/using-less-with-symfony2
-
我通常认为在源代码中包含节点依赖项是一个坏主意(最好将 npm install 作为进程的一部分处理),所以我倾向于认为错误在 node_paths 和在 sudo 中运行你的 Symfony 命令......但如果其余的工作正常,我就一无所知
标签: node.js symfony less symfony-2.3 symfony-2.2