2015-04-08 41 views
35

我已經在我的symfony 2項目中安裝了指南針。現在我想使用與羅盤結合的資產過濾器。 我使用Windows 7指南針在Symfony 2資產過濾器異常

我認爲它幾乎工作,但我仍然收到此錯誤:

[Assetic\Exception\FilterException] 
An error occurred while running: 
"C:\Ruby21-x64\bin\ruby.EXE" "C:\Ruby21-x64\bin\compass.BAT" "compile" "C:\ 
Users\tommie\AppData\Local\Temp" "--boring" "--config" "C:\Users\tommie\App 
Data\Local\Temp\ass4325.tmp" "--sass-dir" "" "--css-dir" "" "C:/Users/tommi 
e/AppData/Local/Temp/ass4326.tmp.scss" 
Error Output: 
C:/Ruby21-x64/bin/compass.BAT:1: syntax error, unexpected tCONSTANT, expect 
ing end-of-input 

我的HTML代碼(樹枝):stylesheets.html.twig

{% stylesheets filter="compass" output='css/compiled/*.css' 
    "@AcmeSassDemoBundle/Resources/assets/css/base.scss" 
%} 
<link rel="stylesheet" href="{{ asset_url }}" /> 

{% endstylesheets %} 

base.html.twig:

<!DOCTYPE html> 
<html> 
<head> 
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
    <title>{% block title %}Sass Demo!{% endblock %}</title> 
    {#{% block stylesheets %}{% endblock %} #} 

    {% include "AcmeSassDemoBundle:Demo:stylesheets.html.twig" %} 
    <link rel="shortcut icon" href="{{ asset('favicon.ico') }}" /> 
</head> 
<body> 
    <div id="header"> 
     {% block header %} 
      <h1>Sass Demo</h1> 
      <div class="logo">this container is half as big as the sass.gif's dimension</div> 
     {% endblock %} 
    </div> 

    <div id="menu"> 
     <ul> 
      <li class="add"><a href="#">add something</a></li> 
      <li class="edit"><a href="#">edit something</a></li> 
      <li class="delete"><a href="#">delete something</a></li> 
     </ul> 
    </div> 

    <div id="content"> 
     {% block body %}hello sass!{% endblock %} 
    </div> 

    <div id="footer"> 
     {% block footer %}awesome footer goes here ...{% endblock %} 
    </div> 
    {% block javascripts %}{% endblock %}</ 
</body> 

index.html.twig:

{% extends 'AcmeSassDemoBundle:Demo:base.html.twig' %} 

{% block body %} 

<div class="content"> 
    hello world 
    <div class="sub"> 
     This text should be in green ... 
     <div class="sub"> 
     ... and this one in blue! 
    </div> 
</div> 

我config.yml過濾assetic配置:

# Assetic Configuration 
assetic: 
    debug: false 
    use_controller: true# default: true 
    filters: 
     sass: ~ 
     compass: 
      compass: 
       bin: C:\Ruby21-x64\bin\compass.bat 

base.scss

$main-background-color: #FFF; 
$main-color: #FFF; 
$light-color: #759E1A; 
$link-color: #0088CC; 

body { 
    background-color: #CCC; 
} 

@mixin rounded($side, $radius: 10px) { 
    border-radius: $radius; 
    border-#{$side}-radius: $radius; 
    -moz-border-radius-#{$side}: $radius; 
    -webkit-border-#{$side}-radius: $radius; 
} 

@import "header.scss"; 
@import "menu.scss"; 
@import "content.scss"; 
@import "footer.scss"; 
+0

這是一個錯字,還是你有2次'compass'在你的配置?我只有一個在我的。嘗試刪除一個[像這樣](https://gist.github.com/ferdynator/280048aceea4ea16d925)。你也可以添加你的'base.scss'嗎? – ferdynator

+0

嗨ferdynator,更新了我的問題並添加了base.scss。還試過你的配置,但仍然無法正常工作。錯誤代碼: 「/ usr/bin/ruby​​」「C:\ :\ Windows \ Temp \ assB498.tmp「」--sass-dir「」「」--css-dir「」「」C:/Windows/Temp/assB499.tmp.scss「 –

+0

請參閱本指南它會幫助:http://stackoverflow.com/questions/16003621/configuring-compass-on-windows – Nickolaus

回答

0

它極有可能這是你已經嘗試/注意到的東西,但以防萬一:

錯誤似乎更像是紅寶石解釋器正在死亡,而不是它窒息在你的scss /樹枝上。這在某種程度上是有意義的,因爲ruby並不期望使用.BAT腳本。

通常只使用'指南針',而不是'compass.BAT',它通常只是用'指南針'調用紅寶石。

I.e.

「C:\ Ruby21-64 \ BIN \ ruby​​.EXE」 「C:\ Ruby21-64 \ BIN \ compass.BAT」 「編譯」 「C:\用戶\托米\應用程序數據\本地\ Temp「」--boring「」--config「 」C:\ Users \ tommie \ App Data \ Local \ Temp \ ass4325.tmp「」--sass-dir「」「 」--css-dir「」 「 」C:/用戶/托米E /應用程序數據/本地/溫度/ ass4326.tmp.scss「

通常會被

」 C:\ Ruby21-64 \ BIN \ ruby​​.EXE 「」C:\ Ruby21-x64 \ bin \ compass「」編譯「 「C:\ Users \ tommie \ AppData \ Local \ Temp」「--boring」「--config」 「C:\ Users \ tommie \ App Data \ Local \ Temp \ ass4325.tmp」「--sass- DIR」 「」 「--css-DIR」 「」 「C:/用戶/托米E /應用程序數據/本地/溫度/ ass4326.tmp.scss」

本質上,設置compass.bin路徑沒有.bat在裏面,你可能會沒事的。這通常是在assetic.filters.compass.bin在config.yml

參見https://github.com/symfony/AsseticBundle/issues/158

這也揭示了特殊字符不惹人喜愛,不知道它有多好喜歡空格dirnames中。這些也可能導致窒息,如果它仍然無法正常工作。蝙蝠

+0

謝謝也試過這個,但不幸的是這不是問題。我仍然收到同樣的錯誤。 –