3

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

我用谷歌搜索了如何设置项目: - 安装 ruby​​ - 然后安装 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是空的。

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

4

3 回答 3

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

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

gem environment

对于生产,您还需要转储资产,仅此而已。

于 2013-05-21T20:09:19.173 回答
0

要使用指南针,您需要 ruby​​。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
于 2013-03-09T18:36:38.140 回答
0

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

filters:
    sass:
        bin: /usr/bin/sass
    compass:
        bin: /usr/bin/compass
    cssrewrite: ~
于 2015-03-28T17:53:53.220 回答