2014-09-28 33 views
6

我正在尝试安装symfony2来编译sass文件。个别样式表必须位于sass目录

但是每次运行php app/console assetic:dump我碰到下面的错误时间:

Individual stylesheets must be in the sass directory. 

这是我main.scss是什么样子:

@import "utilities/variables"; 

@import "base/layout"; 
@import "base/footer"; 
@import "base/modules"; 
@import "base/form"; 
@import "base/button"; 
@import "base/plugin-overrides"; 

@import "utilities/loaders"; 

有任何这些文件没有纯CSS ,我试着评论一切,但它一直在抛出错误。

我用这渲染了一切:

{% block stylesheets %} 
    {% stylesheets 
     filter='compass' 
     'bundles/mybundle/styles/main.scss' 
    %} 
     <link rel="stylesheet" type="text/css" href="{{ asset_url }}"/> 
    {% endstylesheets %} 
{% endblock %} 

哪些应该拿起文件,并使用过滤器编译compass

我对assetic配置是这样的:

assetic: 
    debug:   "%kernel.debug%" 
    use_controller: false 
    bundles:  [ 'MaximCMSBundle' ] 
    #java: /usr/bin/java 
    filters: 
     cssrewrite: ~ 
     sass: ~ 
     compass: ~ 

而且我已经在参数中定义了指南针和sass的正确路径:

ruby.path: 'C:\Ruby200-x64\bin' 
assetic.filter.sass.bin: 'C:\Ruby200-x64\bin\sass' 
assetic.filter.compass.bin: 'C:\Ruby200-x64\bin\compass' 
assetic.filter.compass.images_dir: '%kernel.root_dir%/../web/images' 
assetic.filter.compass.http_path: /images 

我运行了以下版本:

SASS:3.4.5

指南针:1.0.1

当我回滚的版本如下:

SASS:3.2.19

指南针:0.12.7

一切工作正常,但我想使用最新版本。

+0

同样在这里...你解决这个问题了吗? – Christian 2014-12-18 03:45:19

+0

我正在使用较旧的SASS和Compass版本,自那时以来我还没有测试过 – 2014-12-18 11:54:20

回答

5

的assetic过滤器需要一个行变化和指南针/萨斯

编辑 “供应商/ kriswallsmith/assetic/src目录/ Assetic /过滤/ CompassFilter.php”

更改行的新版本工作312:

$pb->add('--sass-dir')->add('')->add('--css-dir')->add(''); 

到:

$pb->add('--sass-dir')->add($tempDir)->add('--css-dir')->add($tempDir); 

即固定它 为了我。

+0

供应商文件在作曲家更新期间被覆盖 – thedjaney 2015-09-15 15:52:57

+0

添加到此问题:https://github.com/kriswallsmith/assetic/issues/697 – fritzmg 2015-09-25 10:58:16

0

试图Indivision开发的解决方案和其他人,我在网络上看到后,我通过清除缓存解决了这个问题:

php app/console cache:clear -e prod 
相关问题