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

32voto

We Are All Monica Punkte 12247

Sie müssen npm aktualisieren.

// Do this first, or the upgrade will fail
npm config set ca ""

npm install npm -g

// Undo the previous config change
npm config delete ca

Möglicherweise müssen Sie diesen Befehlen das Präfix sudo .

Source : http://blog.npmjs.org/post/78085451721/npms-self-signed-certificate-is-no-more

23voto

Adam Lane Punkte 1654

Wenn Sie dies vor den Befehl setzen, scheint es zu funktionieren NODE_TLS_REJECT_UNAUTHORIZED=0 . ex: NODE_TLS_REJECT_UNAUTHORIZED=0 npm ...

Am besten wäre es, herauszufinden, wie man den Knoten dazu bringt, ein selbstsigniertes Zertifikat als gültig zu betrachten. Der obige strict-ssl-Vorschlag hat bei mir aus irgendeinem Grund nicht funktioniert. Wenn Sie die Auswirkungen auf die Sicherheit verstehen und eine vorübergehende schnelle Lösung benötigen, habe ich Folgendes in einigen zufällige Github-Themen bei der Google-Suche des Fehlers.

10voto

jiz Punkte 169

Nur für die Entwicklung unter Windows

$Env:NODE_TLS_REJECT_UNAUTHORIZED=0

9voto

TheDomis4 Punkte 90

Ich habe einen Artikel erstellt, wie man die meisten npm-Probleme hinter einer Firmen-Firewall deaktivieren kann, wenn man keine anderen Möglichkeiten hat.

Seien Sie sich bewusst, dass Sie anfällig für Angriffe sein könnten.

https://wnderlvst.com/stories/102a237a-cea1-463b-89db-82224f1c1cbe

Powershell

yarn config set "strict-ssl" false
yarn config set "network-timeout" 600000
$env:NODE_TLS_REJECT_UNAUTHORIZED=0

8voto

Redsandro Punkte 10548

Das Repository unterstützt keine selbstsignierten Zertifikate mehr. Sie müssen ein Upgrade durchführen npm .

// Disable the certificate temporarily in order to do the upgrade
npm config set ca ""

// Upgrade npm. -g (global) means you need root permissions; be root 
// or prepend `sudo`
sudo npm install npm -g

// Undo the previous config change
npm config delete ca

// For Ubuntu/Debian-sid/Mint, node package is renamed to nodejs which 
// npm cannot find. Fix this:
sudo ln -s /usr/bin/nodejs /usr/bin/node

Sie müssen eine neue Terminalsitzung öffnen, um die aktualisierte npm .

Quelle: Dies war ursprünglich eine Bearbeitung von jnylen die Antwort. Obwohl die Leitlinien besagen "Wir freuen uns über alle konstruktiven Änderungen, aber machen Sie sie bitte substanziell". die Bearbeitung wurde abgelehnt aufgrund von "Diese Bearbeitung verändert zu viel im ursprünglichen Beitrag; der ursprüngliche Sinn oder die Absicht des Beitrags würde verloren gehen." Ich denke, die Gemeinschaft bevorzugt eine separate Antwort.

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