Start·Fehlermeldungen

node-gyp · npm

Die Meldung

gyp ERR! build error

Was es bedeutet

Eine Abhängigkeit enthält C oder C++, das bei der Installation auf Ihrem Rechner kompiliert werden muss, und diese Kompilierung ist fehlgeschlagen — node-gyp braucht einen Compiler und python. Das passiert, wenn keine Build-Toolchain installiert ist, oder wenn das Paket älter als Ihr node ist und die Header nicht mehr passen. Installieren Sie die Toolchain: xcode-select --install für die Kommandozeilenwerkzeuge unter macOS, build-essential und python3 unter Debian oder Ubuntu, die C++-Workload von Visual Studio unter Windows. Liefert eine neuere Version des Pakets ein vorgebautes Binary für Ihr node, ist ein Upgrade des Pakets deutlich schneller als das Reparieren der Build-Umgebung.

Die Lösung

Hier hilft kein Einzeiler. Die Erklärung sagt, worauf zu schauen ist.

Ausgegeben von
node-gyp
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 „gyp ERR! build error“?

Eine Abhängigkeit enthält C oder C++, das bei der Installation auf Ihrem Rechner kompiliert werden muss, und diese Kompilierung ist fehlgeschlagen — node-gyp braucht einen Compiler und python. Das passiert, wenn keine Build-Toolchain installiert ist, oder wenn das Paket älter als Ihr node ist und die Header nicht mehr passen. Installieren Sie die Toolchain: xcode-select --install für die Kommandozeilenwerkzeuge unter macOS, build-essential und python3 unter Debian oder Ubuntu, die C++-Workload von Visual Studio unter Windows. Liefert eine neuere Version des Pakets ein vorgebautes Binary für Ihr node, ist ein Upgrade des Pakets deutlich schneller als das Reparieren der Build-Umgebung.

Q. Wie behebe ich das?

Es gibt keinen Einzeiler. Die Erklärung oben sagt, worauf zu schauen ist.

Q. Welches Werkzeug gibt das aus?

node-gyp. Es gehört zu npm, und die Meldung hat 4 Wörter.

Verwandte Fehler