使用Symfony2的指南针/ sass问题

时间:2013-03-09 17:21:43

标签: symfony sass compass-sass

我是使用罗盘的新手,我想在我的symfony2项目中使用它。

我用Google搜索了如何设置项目: - 安装红宝石 - 然后安装Compass / sass。

安装了Assetic bundle,然后我在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 %}

当我使用命令“assetic:dump”时,css文件已创建,但我收到以下错误:

Error Output:
/usr/bin/ruby: No such file or directory -- /usr/local/bin/compass (LoadError)

我的css是空的。

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

3 个答案:

答案 0 :(得分:4)

l3l0几乎就在那里。您必须指定ruby的路径,但配置错误。

修正了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和指南针的正确路径。它们通常位于默认gem安装目录的bin文件夹中。

在终端中执行以下命令并查找 INSTALLATION DIRECTORY

gem environment

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

答案 1 :(得分:0)

要使用罗盘,你需要红宝石。请使用终端中的whereis ruby命令检查安装ruby的位置。

然后在资产配置中添加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

答案 2 :(得分:0)

我遇到了同样的问题,我只是更改了sass和指南针路径(没有&#34;本地&#34;)并且它对我有用:

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