Beim Ausführen von app / console assent: dump bekomme ich:
Pfad zum ausführbaren Knoten konnte nicht aufgelöst werden
Was bedeutet es und wie kann man das beheben?
Beim Versuch, das Projekt über app_dev.php zu durchsuchen, erhalte ich HTTP 500-Fehler, wenn der Browser versucht, CSS- und JS-Dateien herunterzuladen.
Stellen Sie zuerst sicher, dass der Knoten installiert ist und suchen Sie den Pfad zum Knoten. Sie können dies normalerweise finden, indem Sie which node
verwenden, was etwas wie /usr/local/bin/node
zurückgibt. Wenn es so etwas wie /usr/bin/which: no node in ...
zurückgibt, müssen Sie den Knoten installieren.
Konfigurieren Sie als Nächstes symfony. Öffnen Sie Ihre Datei config.yml (./app/config/config.yml) und den Pfad zum Knoten zu Ihrer assess config, d. H.:
%Vor%Ich füge genau den gleichen Fehler hinzu, während ich
mache %Vor%Unter Ubuntu gibt es eine Verwechslung zwischen Knoten und nodejs binary. Um dies zu lösen, müssen Sie den Knoten binary installieren. In meinem Fall war die Binärdatei nodejs, also hat es nicht funktioniert.
Unter Ubuntu der Befehl welcher Knoten Ihnen sagen wird ob der Knoten instaliert ist. Versuchen Sie, welcher Knoten und wenn es nicht funktioniert, versuchen Sie, welche nodejs.
Also, um sicher zu sein, gibt es keine Verwirrung, die ich gemacht habe:
%Vor%Überprüfen Sie auf der Knotenwebsite nach der richtigen URL im curl-Befehl. Vielleicht möchten Sie Knoten 5.X.
Jetzt, wenn du es tust
%Vor%Sie haben den korrekten binären Namen (Knoten anstelle von nodejs).
Danach sollte es funktionieren. Wenn nicht, überprüfen Sie den Knotenpfad in config.yml (prüfen Sie, ob es keine andere Deklaration in config_prod und config_dev gibt)
Ich habe festgestellt, dass selbst wenn Sie /usr/bin/node
in Ihrem config.yml
angeben, Sie immer noch finden, dass assetic versucht, /usr/local/bin/node
zu verwenden.
Der schnelle und schmutzige Weg, dies zu beheben, ist:
%Vor% Wenn Sie Zweifel haben, bearbeiten Sie vendor/kriswallsmith/assetic/src/Assetic/Filter/UglifyJs2Filter.php
Bearbeiten in der Nähe von Zeile 136:
%Vor%- & gt;
%Vor%Dies wird Ihnen sagen, wo die assetic erwartet, dass der Knoten das nächste Mal ist, wenn die assetic fehlschlägt.
Ich habe in meinem Setup gefunden, dass assetic so konfiguriert wurde, dass es in /usr/local/bin
in dev
mode, aber /usr/bin
im prod mode aussieht.
Es lohnt sich also, config.yml
, config_dev.yml
und config_prod.yml
zu überprüfen.
Verwenden Sie einige Filter wie uglify?
Wenn dies der Fall ist, löst Assetic diesen Fehler aus, da der Prozess mit Code 127 existiert, was bedeutet, dass die ausführbare Datei des Knotens nicht ausgeführt werden konnte.
Überprüfen Sie den Pfad in Ihrem config.yml
:
Und stellen Sie sicher, dass es ausführbar ist:
%Vor%