Grunt funktioniert mit 5.2.3 nicht mehr

Ich habe einen Neuen Shop von 5.1.6 auf 5.2.3 upgedatet, nun funktioniert leider Grunt nicht mehr, bisher konnte ich so Grunt installieren und starten:

  1. Grunt installieren
    Im Verzeichnis „src/shopware/themes/“ folgendes ausführen:

sudo npm install grunt sudo npm install grunt-cli sudo npm install grunt-contrib-less sudo npm install grunt-contrib-watch sudo npm install grunt-contrib-uglify sudo npm install grunt-contrib-jshint

  1. Konfigurationsdatei erstellen
    Im Verzeichnis „src/shopware/“ folgendes ausführen:

php bin/console sw:theme:dump:configuration

  1. Grunt watcher starten
    Im Verzeichnis „src/shopware/themes/“ folgendes ausführen:

grunt

Nun erhalte ich beim Ausführen von Schritt 2 folgenden Fehler:

 WARNING! Could not connect to database. Message from SQL Server: SQLSTATE[HY000] [2002] No such file or directory in /src/shopware/engine/Shopware/Components/DependencyInjection/Bridge/Db.php

[Symfony\Component\DependencyInjection\Exception\RuntimeException]                                              
  You have requested a synthetic service („db_connection“). The DIC does not know how to construct this service.

Leider ist die Produktion mit dem Backend Less compiler sehr langsam in einer Entwicklungsumgebung, Grunt hat das ganze gewaltig beschleunigt. Hoffe auf Alternativen oder behebungen für den Fehler.

Grüße, Alex

Hallo Alex,

http://8mylez.com/blog/shopware-5-theme-entwicklung-mit-grunt/

Ganz unten wird eine Lösung für das Problem beschrieben. Hat bei mir lokal unter Mamp funktioniert.

Grüße Felix

1 Like

Ich hatte nach dem Update Probleme mit unserem git Repo, nach einem neuen Update hat sich das Problem selbst beseitigt, leider nutze ich kein MAMP für Shopware, werde es dennoch mal als Antwort markieren, kann evtl in naher Zukunft helfen :slight_smile:

Ich habe hierzu noch eine grundsätzliche Frage zu dem Thema.

Aktuell bekomme ich auch beim Versuch im lokalen Projekt-Ordner die Theme-Konfiguration zu dumpen auch die Fehlermeldung: 
WARNING! Could not connect to database. Message from SQL Server: SQLSTATE[HY000] [2002] No such file or directory in /src/shopware/engine/Shopware/Components/DependencyInjection/Bridge/Db.php

Ich habe allerdings eine Staging-Umgebung des Shops remote auf dem Webserver. Mir geht ja nur drum, dass die Less/JS-Files bei Änderungen lokal kompiliert werden und ich nicht jedesmal im Backend das Theme neu kompilieren muss. Schieb dann die aktualisierte CSS auf den Server hoch.

Muss ich für den Dump der Theme-Konfiguration echt die Datenbank lokal auf dem Rechner installieren?

Danke und Gruss

@Liverson schrieb:

Muss ich für den Dump der Theme-Konfiguration echt die Datenbank lokal auf dem Rechner installieren?

Ja, die Datenbank muss lokal installiert sein, ansonsten fehlen die im Theme-Manager festgelegten Variablen.

1 Like

Danke, was auch funktioniert ist, die Theme-Konfiguration am Remote-Server zu dumpen und dann runterladen. Anschließend funktioniert das Compiling mit grunt.

Allerdings ist die CSS-Datei dann ca. 4x so gross wie die die via Theme-Komilierung im Backend erzeugt wird. Ist das normal?

@Liverson schrieb:

Allerdings ist die CSS-Datei dann ca. 4x so gross wie die die via Theme-Komilierung im Backend erzeugt wird. Ist das normal?

Das CSS wird vermutlich nicht komprmiert und es wird eine Sourcemap erstellt.