npm · npm
Die Meldung
npm WARN EBADENGINE Unsupported engine
Was es bedeutet
Ein Paket deklariert einen engines-Bereich für node oder npm, den Ihre Umgebung nicht erfüllt — npm warnt nur und installiert dennoch. Das passiert bei einem alten node, das als Systempaket installiert wurde, oder wenn das Projekt auf ein neueres node umgestiegen ist als das in Ihrer Shell. Schalten Sie node mit Ihrem Versionsmanager auf eine Version innerhalb des angegebenen Bereichs; maßgeblich ist die .nvmrc des Projekts oder das engines-Feld in package.json. Standardmäßig ist es nur eine Warnung, doch mit engine-strict=true in .npmrc wird aus derselben Bedingung ein Fehler, der die Installation abbricht.
Die Lösung
Hier hilft kein Einzeiler. Die Erklärung sagt, worauf zu schauen ist.
- Ausgegeben von
- npm
- npm
- 20
Bei npm steht die Ursache in der ersten code-XXXX-Zeile und nicht in den letzten sechs npm-ERR!-Zeilen, und wenn der Fehler aus dem Abhängigkeitsbaum oder einem Native-Build statt aus eigenem Code kommt, löst das Löschen von node_modules mit erneuter Installation etwa die Hälfte.
Eine Fehlermeldung lesen
- Von der ersten Zeile abwärts lesen. Weiter unten geht es um das Innere des Werkzeugs; die Ursache steht meist oben.
- Gibt es Datei und Zeilennummer, dort anfangen — nicht der oberste Stack-Frame, sondern die oberste Zeile, die eine eigene Datei nennt.
- Die Meldung wörtlich suchen, vorher aber eigene Pfade und Variablennamen entfernen; genau die verhindern den Treffer.
- Dieselbe Lage wird je Werkzeugversion anders formuliert. Passen die Treffer nicht, die Versionsnummer mit in die Suche.
- Vor dem Einfügen einer Lösung prüfen, was sie verwirft. Manches davon lässt sich nicht zurückholen.
Häufige Fragen
Q. Was bedeutet „npm WARN EBADENGINE Unsupported engine“?
Ein Paket deklariert einen engines-Bereich für node oder npm, den Ihre Umgebung nicht erfüllt — npm warnt nur und installiert dennoch. Das passiert bei einem alten node, das als Systempaket installiert wurde, oder wenn das Projekt auf ein neueres node umgestiegen ist als das in Ihrer Shell. Schalten Sie node mit Ihrem Versionsmanager auf eine Version innerhalb des angegebenen Bereichs; maßgeblich ist die .nvmrc des Projekts oder das engines-Feld in package.json. Standardmäßig ist es nur eine Warnung, doch mit engine-strict=true in .npmrc wird aus derselben Bedingung ein Fehler, der die Installation abbricht.
Q. Wie behebe ich das?
Es gibt keinen Einzeiler. Die Erklärung oben sagt, worauf zu schauen ist.
Q. Welches Werkzeug gibt das aus?
npm. Es gehört zu npm, und die Meldung hat 5 Wörter.