2017-06-09 3 views
3

Ich versuche, SASS mit dem Assetic Bundle mit symfony zu verwenden. Ich folgte dem Haupt-Tutorial here. Es erzeugt jedoch keine CSS-Dateien. Ich habe versucht, verschiedene Ausgaben zu verwenden, Dateiberechtigungen zu überprüfen und mit Filtern zu spielen, aber ich bin nicht sehr sicher, wohin ich von hier aus gehen soll.SASS kompiliert nicht in symfony

Der relevante config.yml Code:

# Assetic Configuration  
assetic: 
    debug:   '%kernel.debug%' 
    use_controller: '%kernel.debug%' 
    filters: 
     cssrewrite: ~ 
     scssphp: 
      bin: /usr/local/lib/ruby/gems/2.3.0/gems/sass-3.4.24 
      apply_to: .scss$ 

Und das ist mein stylesheet.html.twig, die ich in meinem base.html.twig umfassen

{% stylesheets 
    'sass/style.scss' 
    filter = "scssphp" output='css/sass.css' %} 
    <link rel="stylesheet" href="{{ asset_url }}"/> 
{% endstylesheets %} 

ich den folgenden Befehl versucht, mit Leitung:

php bin/console assetic:dump --env=prod --no-debug 

und bekam die folgende Fehlermeldung:

[Assetic\Exception\FilterException]           
    An error occurred while running:            
    '/usr/local/lib/ruby' '/usr/local/lib/ruby/gems/2.3.0/gems/sass-3.4.24' '-- 
    load-path' '/Applications/XAMPP/xamppfiles/htdocs/my_website/app/../web/sas 
    s' '--scss' '--load-path' '/Applications/XAMPP/xamppfiles/htdocs/my_website 
    /app/../web' '--cache-location' '/Applications/XAMPP/xamppfiles/htdocs/my_w 
    ebsite/var/cache/prod' '/private/var/folders/_2/xkw80vl13zj0xw0nm7j8c4bc000 
    0gn/T/assetic_sassqn8iBF'              
    Error Output:                 
    sh: /usr/local/lib/ruby: is a directory          
    sh: line 0: exec: /usr/local/lib/ruby: cannot execute: Undefined error: 0  
    Input: 
    [...] 

Der Rest des Fehlers war nur meine scss-Datei. Ich bin mir nicht ganz sicher, was der Fehler mir sagt.

Thanks :)

Antwort

0

Ich glaube, Sie den richtigen Pfad zu ruby finden müssen (der Fehler bedeutet /usr/local/lib/ruby nicht Ihr Ruby-Interpreter ist, sondern nur ein Ordner) und sass.

  1. Führen Sie which ruby. Es wird den Pfad zu Ruby ausgeben. Für mich ist es /usr/bin/ruby.
  2. Richten Sie den richtigen Pfad in Ihrer Konfiguration:
 
    assetic: 
     debug:   '%kernel.debug%' 
     use_controller: '%kernel.debug%' 
     ruby: /usr/bin/ruby 
     filters: 
      cssrewrite: ~ 
      scssphp: 
      bin: /usr/local/lib/ruby/gems/2.3.0/gems/sass-3.4.24   
      apply_to: .scss$ 
  1. Wenn es immer noch nicht funktioniert, müssen Sie wahrscheinlich den richtigen Pfad von sass auch finden. Ich suche es in diesen Ordnern:

    finden Sie/usr/local/bin/| grep sass finden/usr/bin/| grep sass finden/usr/lib/| grep sass

Der erste Befehl gab mir diese Ausgabe:

/usr/local/bin/sass-convert 
/usr/local/bin/node-sass 
/usr/local/bin/sass 

Die letzte Zeile zeigt den Weg. Versuchen Sie, es in Ihrer Konfiguration wie folgt zu ändern:

Lassen Sie mich wissen, ob es funktioniert.

+0

Vielen Dank für Ihre Antwort! Mit "which ruby" verknüpfte es mich immer noch mit derselben Bibliothek (/ usr/local/lib/ruby). Ich habe jedoch den Pfad/usr/bin/ruby ​​verwendet, da ich dort die ausführbare Datei gefunden habe. Ich greped für Hass und fand es auf dem gleichen Weg wie du. Trotz allem bekomme ich immer noch den gleichen Fehler? Es sagt immer noch "sh:/usr/local/lib/ruby: ist ein Verzeichnis", obwohl ich diesen Pfad nirgendwo in der Konfigurationsdatei verwende. Ist Caching beteiligt? – monadoboi

+0

Vielleicht versuchen Sie, den Cache zu löschen und die Option '--env dev' auf den Befehl zu setzen –

Verwandte Themen