2014-09-28 18 views
6

Sto provando a configurare symfony2 per compilare i file sass.I singoli fogli di stile devono essere nella directory sass

Tuttavia ogni volta che ho eseguito php app/console assetic:dump io ottenere il seguente errore:

Individual stylesheets must be in the sass directory. 

Questo è ciò che il mio main.scss assomiglia:

@import "utilities/variables"; 

@import "base/layout"; 
@import "base/footer"; 
@import "base/modules"; 
@import "base/form"; 
@import "base/button"; 
@import "base/plugin-overrides"; 

@import "utilities/loaders"; 

Non c'è css pianura in uno qualsiasi di questi file , ho provato a commentare tutto ma continua a lanciare l'errore.

sto il rendering tutto utilizzando questo:

{% block stylesheets %} 
    {% stylesheets 
     filter='compass' 
     'bundles/mybundle/styles/main.scss' 
    %} 
     <link rel="stylesheet" type="text/css" href="{{ asset_url }}"/> 
    {% endstylesheets %} 
{% endblock %} 

che dovrebbe prendere il file e compilare utilizzando il filtro compass

La mia configurazione di Assetic assomiglia a questo:

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

E Ho definito i percorsi corretti per bussola e sass nei parametri:

ruby.path: 'C:\Ruby200-x64\bin' 
assetic.filter.sass.bin: 'C:\Ruby200-x64\bin\sass' 
assetic.filter.compass.bin: 'C:\Ruby200-x64\bin\compass' 
assetic.filter.compass.images_dir: '%kernel.root_dir%/../web/images' 
assetic.filter.compass.http_path: /images 

Sono in esecuzione le seguenti versioni:

SASS: 3.4.5

Bussola: 1.0.1

Quando ho rollback queste versioni al seguente:

SASS: 3.2.19

Bussola: 0.12.7

Tutto funziona, tuttavia mi piacerebbe utilizzare le versioni più recenti.

+0

Stesso qui ... avete risolto già? – Christian

+0

Sto usando la versione precedente di SASS e Compass, non ho provato da allora –

risposta

5

Il filtro Assetic bisogno di un cambiamento di una riga di lavorare con la versione più recente di Compass/Saas "//Assetic/src/Assetic/Filter/CompassFilter.php vendor kriswallsmith"

Change Linea

Edit 312 da:

$pb->add('--sass-dir')->add('')->add('--css-dir')->add(''); 

a:

$pb->add('--sass-dir')->add($tempDir)->add('--css-dir')->add($tempDir); 

Questo problema è stato risolto per me.

+0

I file del fornitore sono sovrascritti durante l'aggiornamento del compositore – thedjaney

+0

Aggiunto a questo numero: https://github.com/kriswallsmith/assetic/issues/697 – fritzmg

0

Dopo aver provato la soluzione e altri di Indivision Dev che ho visto in giro per il web, ho risolto questo problema di cache di compensazione:

php app/console cache:clear -e prod