Kann ich die Ausgabe von "npm ERR!" ausblenden oder stummschalten, wenn npm run script verwendet wird?

8

Ich verwende npm run script , um Aufgaben wie "build" und "test" auszuführen.

Zum Beispiel sieht mein package.json wie folgt aus:

%Vor%

Wenn ich npm run build ausführe und es erfolgreich ist, lautet die Ausgabe:

%Vor%

Wenn ich npm run build ausführen und es fehlschlägt, lautet die Ausgabe wie folgt:

%Vor%

Dies füllt die gesamte Konsole mit nutzlosen Informationen, und ich muss nach oben scrollen, um zu sehen, warum es fehlgeschlagen ist.

Gibt es überhaupt eine Möglichkeit, die Zeilen, die während der Entwicklung mit npm ERR! beginnen, zu verstecken / stillzulegen?

    
styfle 28.06.2016, 18:52
quelle

3 Antworten

11

Sie müssen npm run build --silent verwenden.

Dies ist nicht in npm help , npm help run oder irgendetwas anderes offensichtlich, aber mit etwas Suche im Internet können Sie herausfinden, dass anscheinend ist dies in npm help 7 config dokumentiert. Sie können auch die Option loglevel in .npmrc verwenden.

Die Option --silent (kurz: -s ) unterdrückt:

  • Die beiden Zeilen beginnen mit > und sagen, welchen Befehl Sie ausführen.
  • npm ERR! Fehler.
  • Erstellen von npm-debug.log , wenn ein Fehler auftritt.

Hinweis: Wenn Sie npm-Skripte verwenden, um andere npm-Skripte auszuführen, müssen Sie möglicherweise --silent mehr als einmal verwenden. Beispiel package.json :

%Vor%

Wenn Sie npm run build eingeben und TypeScript einen Fehler findet, erhalten Sie die Skripte npm ERR! von beiden . Um sie zu unterdrücken, müssen Sie das Build-Skript in npm run compile --silent && npm run minify ändern und es mit npm run build --silent ausführen.

    
gcampbell 04.07.2016, 08:15
quelle
0

Es gibt ein Problem, das bei npm eingereicht wurde: run-scripts sind zu laut, während sie in der Entwicklung verwendet werden # 8821 ( auch erwähnt in einem Kommentar oben)

In der Diskussion in dieser Ausgabe haben ein paar Leute erwähnt, dass ein Alias ​​erstellt wurde, z. npr (unter Verwendung der Option --silent beschreibt gcampbell in seiner / ihrer Antwort). Obwohl --silent einige Probleme vom Typ npm verbergen kann, wie zum Beispiel eine fehlerhafte Paket.json, scheint dies für den Moment eine vernünftige Lösung zu sein.

%Vor%

Eine andere Sache aus dieser Diskussion, die es wert ist, untersucht zu werden, obwohl es ein weiteres Werkzeug ist, ist Garn , das auf Facebook-Blogpost .

    
Mike Lippert 28.04.2017 22:29
quelle
0

Wie andere festgestellt haben, ist das Problem mit --silent , dass Sie die all Ausgabe verlieren. Es gibt einen anderen Weg, der in den meisten Fällen funktioniert:

%Vor%

Wenn eine der Binärdateien, die Sie gerade ausführen, in stderr schreibt, wird diese unterdrückt. Aber die meisten Knoten schreiben auf stdout, also sollte das kein Problem sein.

Dies funktioniert natürlich nur in einer Shell-Umgebung, die die Ausgabeumleitung unterstützt.

    
Aparajita 07.11.2017 02:05
quelle

Tags und Links