Ich verwende npm run script , um Aufgaben wie "build" und "test" auszuführen.
Zum Beispiel sieht mein package.json
wie folgt aus:
Wenn ich npm run build
ausführe und es erfolgreich ist, lautet die Ausgabe:
Wenn ich npm run build
ausführen und es fehlschlägt, lautet die Ausgabe wie folgt:
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?
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:
>
und sagen, welchen Befehl Sie ausführen. npm ERR!
Fehler. 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
:
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.
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.
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 .
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:
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.
Tags und Links npm