Assetic SCSS过滤器不会转储CSS文件

时间:2015-03-02 20:28:31

标签: symfony sass vagrant assetic puphpet

我的Symfony2配置不是使用Assetic资产管理(重新)从SCSS处理CSS文件

当我使用“php app / console assets:install”在CLI中转储我的资产时,所有文件都存在,但在我的开发环境中没有任何反应,当我的浏览器尝试查找CSS文件时会出现500错误。怎么了?

当然,所有东西都安装在我的流浪汉机器上(包括红宝石和宝石)

# Assetic Configuration
assetic:
    debug:          "%kernel.debug%"
    use_controller: false
    bundles:        
        - MyBundle
        - BraincraftedBootstrapBundle
    assets:
        my:
            inputs:
                - %kernel.root_dir%/../src/MyBundle/Resources/assets/scss/mytest.scss
            output: %kernel.root_dir%/../web/css/all.css
    #java: /usr/bin/java
    filters:
        #cssrewrite: ~
        scss:
            bin: /usr/local/rvm/gems/ruby-1.9.3-p551/bin/sass
            apply_to: "\.scss$"

编辑:它可能与logs / dev.log

中的此错误有关
[2015-03-02 14:22:22] request.CRITICAL: Uncaught PHP Exception Assetic\Exception\FilterException: 
Error Output: Errno::ETXTBSY: Text file busy

编辑2:它可能与vagrant文​​件夹同步有关。我在使用puphpet配置排除的文件夹时遇到了问题。

2 个答案:

答案 0 :(得分:0)

虽然您的日志文件看起来可能存在Assetic的一些配置问题(您可能需要弄清楚),但我认为转储Assetic资产的正确命令是assetic:dump,而不是assets:install {1}}(只是从bundle目录中复制/符号链接静态资产)。

答案 1 :(得分:0)

我的最终解决方案问题是通过修改app / AppKernel.php将vagrant机器中的缓存目录移动到/ tmp目录中

只需添加这些代码就足够了:

public function getCacheDir()
{
    return '/tmp/myapp/cache/' . $this->environment;
}

它只是将缓存目录移到同步的vagrant目录之外。