Assetic:转储错误Assetic \ Filter \ LessFilter

时间:2015-03-06 22:00:16

标签: php symfony less dump assetic

我正在Windows中工作并尝试在Debian服务器上以prod方式显示我的项目。我正在使用svn。我改变了我的config.yml来处理节点的路径和更少。

当我尝试在服务器上执行:php app/console assetic:dump --env=prod时,我收到错误:PHP Catchable fatal error: Argument 2 passed to Assetic\Filter\LessFilter::__construct() must be of the type array, string given, called in /var/www/ales/app/cache/prod/appProdProjectContainer.php on line 549 and defined in /var/www/ales/vendor/kriswallsmith/assetic/src/Assetic/Filter/LessFilter.php on line 54

以下是我的配置:

assetic:
debug:          "%kernel.debug%"
use_controller: false
bundles:        ['MyAppliCoreBundle']
java: /usr/bin/java
filters:
    cssrewrite: ~
    cssembed:
        jar: %kernel.root_dir%/resources/java/cssembed-0.4.5.jar
    less:
        node: /usr/lib/nodejs
        node_paths: [/usr/lib/node_modules]
        apply_to: "\.less$"
    cssrewrite: ~
    yui_css:
        jar: "%kernel.root_dir%/ressources/java/yuicompressor-2.4.8.jar"
assets:
    bootstrap_css:
        inputs:
            - %kernel.root_dir%/../vendor/twbs/bootstrap/less/bootstrap.less
        filters:
            - less
            - cssrewrite
    jquery:
        inputs:
            - %kernel.root_dir%/../vendor/jquery/jquery/jquery-2.1.1.js
        output: js/jquery.js

当我尝试使用DEV时出现此错误:

22:45:00 [file+] /var/www/ales/app/../web/assetic/bootstrap_css.less
[Assetic\Exception\FilterException]
An error occurred while running:
'/usr/lib/nodejs' '/tmp/assetic_lessBjeLzE'
Error Output:
sh: 1: /usr/lib/nodejs: Permission denied
Input:
// Core variables and mixins
@import "variables.less";
@import "mixins.less";

我检查了权限并设置为777 / usr / lib / nodejs,但没有任何变化。

如果您需要更多详细信息,请不要犹豫。

在debian上使用bootstrap 3的Symfony2。

哪个节点返回:

/usr/local/bin/node

节点返回:

/usr/bin/nodejs

和echo $ NODE_PATH返回:

/usr/lib/nodejs:/usr/lib/node_modules:/usr/share/javascript

非常感谢你的帮助,我本周末计划推出......

1 个答案:

答案 0 :(得分:3)

我遇到了同样的问题并且解决得很好,首先你可以试试这个配置:

less:
            node: "node"
            node_paths:
                - "/usr/lib/node_modules"
                - "%kernel.root_dir%/../../../node_modules"

如果以后出现此错误:无法找到模块' less'你必须安装模块:

npm install -g less

我希望自己有所帮助!!