Symfony2 Assetic: Pfad zum ausführbaren Knoten konnte nicht aufgelöst werden

7

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.

    
Sergii Smirnov 05.03.2014, 12:45
quelle

6 Antworten

18

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%     
TheDevilOnLine 15.04.2014, 10:40
quelle
5

Das hat für mich funktioniert

%Vor%     
costa 03.09.2014 16:48
quelle
3

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)

    
Kaizoku Gambare 07.01.2016 14:37
quelle
2

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

vorübergehend

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.

    
Henry 27.09.2016 00:23
quelle
1

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 :

%Vor%

Und stellen Sie sicher, dass es ausführbar ist:

%Vor%     
ncrocfer 05.03.2014 13:55
quelle
0

Mach einfach ein Composer-Update (php composer.phar update) und versuche dann deine Assets zu verwerfen. Es funktioniert möglicherweise nicht beim ersten Mal, also aktualisiere den Komponisten erneut.

    
ArGh 27.03.2014 14:46
quelle

Tags und Links