Start·Fehlermeldungen

npm · npm

Die Meldung

npm ERR! request to https://registry.npmjs.org/express failed, reason: unable to verify the first certificate

Was es bedeutet

Die TLS-Verbindung ist gescheitert: die vom Server vorgelegte Zertifikatskette führt zu einer Stelle, der node nicht vertraut. Überwiegend ist es ein Firmennetz, dessen Proxy den Verkehr öffnet und mit eigenem Zertifikat neu signiert; gelegentlich ein Server, der sein Zwischenzertifikat nicht mitgeschickt hat. npm mit npm config set cafile die Firmenwurzel beizubringen ist der richtige Fix. strict-ssl false lässt diese Zeile ebenfalls verschwinden, schaltet aber die Zertifikatsprüfung vollständig ab — damit kann jeder auf dem Weg Ihnen veränderte Pakete unterschieben. Nicht verwenden.

Die Lösung

npm config set cafile /etc/ssl/corp-ca.pem
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 ERR! request to https://registry.npmjs.org/express failed, reason: unable to verify the first certificate“?

Die TLS-Verbindung ist gescheitert: die vom Server vorgelegte Zertifikatskette führt zu einer Stelle, der node nicht vertraut. Überwiegend ist es ein Firmennetz, dessen Proxy den Verkehr öffnet und mit eigenem Zertifikat neu signiert; gelegentlich ein Server, der sein Zwischenzertifikat nicht mitgeschickt hat. npm mit npm config set cafile die Firmenwurzel beizubringen ist der richtige Fix. strict-ssl false lässt diese Zeile ebenfalls verschwinden, schaltet aber die Zertifikatsprüfung vollständig ab — damit kann jeder auf dem Weg Ihnen veränderte Pakete unterschieben. Nicht verwenden.

Q. Wie behebe ich das?

npm config set cafile /etc/ssl/corp-ca.pem — vor dem Ausführen oben prüfen, was dieser Befehl verwirft.

Q. Welches Werkzeug gibt das aus?

npm. Es gehört zu npm, und die Meldung hat 13 Wörter.

Verwandte Fehler