0

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

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

当然一切都安装在我的流浪机器上(包括 ruby​​ 和 sass gem)

# 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 配置排除文件夹时遇到问题。

4

2 回答 2

0

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

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

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

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

于 2015-03-03T19:28:41.727 回答
0

Although by your log file it looks like there may be some configuration issue with Assetic (that you'll probably need to figure out), I think the proper command to dump the Assetic assets is assetic:dump, not assets:install (which just copies / symlinks static assets in from bundle directories).

于 2015-03-03T16:26:57.473 回答