423 Stimmen

Empfangsfehler: 'Fehler: SSL Fehler: SELF_SIGNED_CERT_IN_CHAIN' bei der Verwendung von npm

Ich verwende npm v1.0.104/node 0.6.12 auf Ubuntu - ich erhalte die unten kopierte Fehlermeldung, wenn ich versuche, neue Module über npm zu installieren (ich habe socket.io früher mit http, nicht https getestet und frage mich, ob das zu dem Problem mit npm/unsigned certs geführt haben könnte). Der Fehler taucht auf, sobald npm versucht, die ' https://registry.npmjs.org ' URL. Gibt es eine Möglichkeit, den Fehler zu ignorieren oder das Zertifikat zu einem vertrauenswürdigen Speicher hinzuzufügen, um npm weiter verwenden zu können?

Ich wäre dankbar für jeden Hinweis darauf, was zu tun ist, um das Problem zu lösen (ich würde es vorziehen, das Problem durch Konfiguration zu lösen, anstatt es neu zu installieren, wenn möglich).

Fehler: "Fehler: SSL-Fehler: SELF_SIGNED_CERT_IN_CHAIN"

Vollständige Nachricht:

npm ERR! Error: SSL Error: SELF_SIGNED_CERT_IN_CHAIN
npm ERR!     at ClientRequest.<anonymous> (/usr/lib/node_modules/npm/node_modules/request/main.js:252:28)
npm ERR!     at ClientRequest.emit (events.js:67:17)
npm ERR!     at HTTPParser.onIncoming (http.js:1261:11)
npm ERR!     at HTTPParser.onHeadersComplete (http.js:102:31)
npm ERR!     at CleartextStream.ondata (http.js:1150:24)
npm ERR!     at CleartextStream._push (tls.js:375:27)
npm ERR!     at SecurePair.cycle (tls.js:734:20)
npm ERR!     at EncryptedStream.write (tls.js:130:13)
npm ERR!     at Socket.ondata (stream.js:38:26)
npm ERR!     at Socket.emit (events.js:67:17)
npm ERR! Report this *entire* log at:
npm ERR!     <http://github.com/isaacs/npm/issues>
npm ERR! or email it to:
npm ERR!     <npm-@googlegroups.com>
npm ERR! 
npm ERR! System Linux 2.6.38-13-generic
npm ERR! command "node" "/usr/bin/npm" "install" "jed"
npm ERR! node -v v0.6.12
npm ERR! npm -v 1.0.104

7voto

Patrick Punkte 545

Für diejenigen, die auf einer mac mit dem gleichen Problem und installierte npm über selbstgebaut :

brew uninstall npm

dann

brew install npm

Funktioniert bei mir unter OSX (10.9.1)

EDITAR : Sie müssen möglicherweise brew update bevor Sie npm installieren. Sie können auch eine brew upgrade nach der Aktualisierung von Homebrew. Es könnte auch hilfreich sein, Folgendes auszuführen brew doctor wenn Sie auf andere Probleme stoßen.

4voto

Igor Parra Punkte 9854

Schnelle und saubere Lösung (linux getestet) (Nach fatidic 27. Februar 2014)


npm deinstallieren

npm rm npm -g

npm installieren (neue URL lautet www.npmjs.org stattdessen npmjs.org )

curl https://www.npmjs.org/install.sh | sh

Tipp Wie installiert man node.js unter Linux? https://stackoverflow.com/a/22099363/333061

2voto

Jeremiah Orr Punkte 2590

Die Abschaltung von SSL scheint eine denkbar schlechte Idee zu sein. npm's blog erklärt, dass sie ihr selbstsigniertes Zertifikat nicht mehr unterstützen. Sie empfehlen ein Upgrade von npm über npm install npm -g aber ich bekam natürlich denselben SELF_SIGNED_CERT_IN_CHAIN-Fehler. Also habe ich einfach node aktualisiert, was npm mit aktualisiert hat. Die genaue Vorgehensweise hängt davon ab, wie Sie node zuerst installiert haben.

2voto

Florian Winter Punkte 4065

Deinstallieren Sie NPM und installieren Sie es erneut.

Seit dem 27. Februar 2014 unterstützt npm seine selbstsignierten Zertifikate nicht mehr. http://blog.npmjs.org/post/78085451721/npms-self-signed-certificate-is-no-more

Der obige Link schlägt vor, NPM mit NPM zu aktualisieren. Dies schlägt auch mit SELF_SIGNED_CERT_IN_CHAIN fehl...

2voto

somshivam Punkte 749

Sie müssen die Proxy-Details Ihres Unternehmens und die npm-Registrierung finden, die Sie verwenden sollten. Danach können Sie diese in der .npmrc-Datei angeben, die sich im Benutzerordner C:/users/<Ihr_Benutzer> befindet.

so kann es angegeben werden -

registry=https://your_company/npm/registry/
proxy=http://username:password@proxy:port/
https-proxy=http://username:password@proxy:port/

Das Passwort ist im Klartext, was natürlich nicht ideal ist. Vielleicht gibt es eine Möglichkeit, es so zu verschlüsseln, dass npm es versteht.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X