Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Symfony2的指南针/sass问题_Symfony_Sass_Compass Sass - Fatal编程技术网

使用Symfony2的指南针/sass问题

使用Symfony2的指南针/sass问题,symfony,sass,compass-sass,Symfony,Sass,Compass Sass,我是新使用指南针,我想在我的symfony2项目中与sass一起使用它 我在谷歌上搜索了如何设置项目: -安装ruby -然后安装Compass/sass 安装了Assetic捆绑包,然后我在conf.yml中添加了: parameters: assetic.filter.compass.images_dir: %kernel.root_dir%/../web/img assetic.filter.compass.http_path: /img assetic: debug:

我是新使用指南针,我想在我的symfony2项目中与sass一起使用它

我在谷歌上搜索了如何设置项目: -安装ruby -然后安装Compass/sass

安装了Assetic捆绑包,然后我在conf.yml中添加了:

parameters:
  assetic.filter.compass.images_dir: %kernel.root_dir%/../web/img
  assetic.filter.compass.http_path:  /img
assetic:
  debug:          "%kernel.debug%"
  use_controller: false
  bundles:        [ ]
  filters:
    cssrewrite: ~
    #sass and compass assetic conf
    sass:
        bin: /usr/local/bin/sass
    compass:
        bin: /usr/local/bin/compass
最后,我添加了我的html.twig

{% stylesheets filter="compass" output="assets/css/styles.css"  "@lbTestBundle/Resources/assets/sass/*.scss" %}
        <link rel="stylesheet" href="{{ asset_url }}" />
    {% endstylesheets %}
我的css是空的


我错过什么了吗?如果有人能帮我,谢谢。

要使用指南针,你需要ruby。请使用终端中的
whereis ruby
命令检查ruby的安装位置

然后在assetic配置中将路径添加到ruby:

assetic:
  debug:          "%kernel.debug%"
  use_controller: false
  bundles:        [ YourBundleShouldBeThere ]
  ruby:
    bin: /path/to/ruby
  filters:
    cssrewrite: ~
    #sass and compass assetic conf
    sass:
        bin: /usr/local/bin/sass
    compass:
        bin: /usr/local/bin/compass

l3l0快到了。您必须指定ruby的路径,但配置错误

Fixed config.yml:

assetic:
  debug:          "%kernel.debug%"
  use_controller: false
  bundles:        [ YourBundleShouldBeThere ]
  # Set path to your ruby
  ruby: /path/to/ruby
  filters:
    cssrewrite: ~
    #sass and compass assetic conf
    sass:
        bin: /usr/local/bin/sass
    compass:
        bin: /usr/local/bin/compass
接下来,将正确的路径设置为sass和compass。它们通常位于默认gem安装目录的
bin
文件夹中

在终端中执行以下命令并查找安装目录


对于生产,您还需要转储资产,就是这样。

我也遇到了同样的问题,我只是更改了sass和compass路径(没有“本地”),它对我有效:

filters:
    sass:
        bin: /usr/bin/sass
    compass:
        bin: /usr/bin/compass
    cssrewrite: ~

确保这些二进制文件存在于这些位置。从命令行调用这些二进制文件有效吗?您是否尝试过
/usr/bin/compass
?另外,据我所知,您不需要使用compass添加sass。我尝试了
/usr/bin/compass
。相同的错误消息。问题是,当我在终端中录制
compass
sass
命令时,我可以使用它们,但当我在
/usr/bin/
中搜索它们时,我没有找到它们,ruby安装在
usr/bin/ruby
。但是添加这一行给了我一个错误:
assetic预期的标量,但是得到了数组
,所以可能
compass在哪里
cause/usr/bin/ruby是assetic IIRC中的默认路径。你也用ruby gem安装了compass吗?我试过了,但没有显示任何内容,我用ruby gem安装了compass。以下是我的gems:
bundler(1.3.2)chunky_png(1.2.7)compass 0.12.2)fssm(0.2.10)rake(10.0.3)sass(3.2.7)
我通过运行
gem update--system
并再次安装compass解决了这个问题:
sudo gem install compass--pre
第一次我没有使用参数
--pre
我不知道它是什么意思,但现在gem在
/usr/local/bin
和.sass和.scss编译中。我现在问自己的问题是,为什么我的css是双重的?我写的一个
output=“assets/css/styles.css”
和另一个
styles\u part\u 1\u test\u 1.css
都是相同的。
gem environment
filters:
    sass:
        bin: /usr/bin/sass
    compass:
        bin: /usr/bin/compass
    cssrewrite: ~