1

我尝试在 Windows XP 上的 Symfony 2.3.1 项目中安装 Compass,但到目前为止还没有成功。我安装了 Ruby、compass、sass 的最新版本。

这是我在app/config/config.yml中的资产配置

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

这是我的app/cofnfig/parameters.xml

# Assetic
    assetic.filter.compass.images_dir: %kernel.root_dir%/../web/images
    assetic.filter.compass.http_path:  /images
    assetic.filter.compass.bin: C:/Ruby200/bin/compass

块代码,包括app/Resources/views/base.html.twig中的样式表部分

{% stylesheets filter="compass"
            "@PortalSlubnyMainBundle/Resources/assets/css/main.sass"
            "@PortalSlubnyMainBundle/Resources/assets/css/header.sass"
            "@PortalSlubnyMainBundle/Resources/assets/css/footer.sass"
        %}
        <link rel="stylesheet" href="{{ asset_url }}" />
        {% endstylesheets %}

好的,所以当我尝试从命令行编译这个命令php app/console assetic:dump 时,我得到以下输出:

倾销所有开发资产。调试模式已打开。

17:46:14 [文件+] C:/xampp/htdocs/slub/app/../web/css/12c97a7.css

[Assetic\Exception\FilterException] 运行时出错:“C:\Ruby200\bin\ruby.EXE”“C:/Ruby200/bin/compass”“compile”“C:\Documents and Settings\piotr\Ustawienia lokalne \Temp" "--images-dir" "C:/xampp/htdocs /slub/app/../web/images" "--config" "C:\Documents and Settings\piotr\Ustawi enia lokalne\Temp\ ass1C9.tmp" "--sass-dir" "--css-dir" "C:/Documents and Settings/piotr/Ustawienia lokalne/Temp/ass1CA.tmp.sass"

错误输出:您必须从项目目录编译单个样式表。

输入: html, body { overflow-x: hidden;

    background-color: yellow;

}

资产:转储 [--watch] [--force] [--period="..."] [write_to]

Ruby 在 cmd 中工作,它在 PATH 环境变量和指南针中设置。伙计们,我们将不胜感激。

编辑: 感谢您的回答,不幸的是它也对我没有帮助。

  1. 当我将名称更改为 bundles/portalslubnymain/css/main.sass CLI 时返回类似于该文件无法找到的错误,尽管文件的路径似乎没问题

  2. 我按照您之前发布的文章中的说明进行操作,我还检查了这篇文章

4

1 回答 1

0

查看您的代码,我建议您遵循本文。请注意最后的更新通知!

首先,您的资产应该位于Resources/public文件夹中...

...不在资源/资产中。解决这个问题...

以后请换...

{% stylesheets filter="compass"
        "@PortalSlubnyMainBundle/Resources/public/css/main.sass"
        "@PortalSlubnyMainBundle/Resources/public/css/header.sass"
        "@PortalSlubnyMainBundle/Resources/public/css/footer.sass"

... 至

{% stylesheets filter="compass"
    "bundles/portalslubnymain/css/main.sass"
    "bundles/portalslubnymain/css/header.sass"
    "bundles/portalslubnymain/css/footer.sass"

...因为已知某些资产过滤器(即 cssrewrite )不适用于@-syntax。

然后将您的资产符号链接到 web 目录中,如下所示:

app/console assets:install web --symlink

最后你应该能够运行

app/console assetic:dump 
于 2013-06-16T18:45:43.560 回答