2014-02-18 17 views
40

Ich versuche, Express-Framework mit Npm-Befehl zu installieren, aber folgenden Fehler erhalten.SSL-Fehler: CERT_UNTRUSTED bei der Verwendung von Npm-Befehl

Fehlermeldung ist

E:\myFindings\nodejs_programs\node>npm install -g express 
npm http GET https://registry.npmjs.org/express 
npm ERR! Error: SSL Error: CERT_UNTRUSTED 
npm ERR!  at ClientRequest.<anonymous> (C:\Program Files\nodejs\node_modules\npm\node_modules\request\main.js:409:26) 
npm ERR!  at ClientRequest.g (events.js:185:14) 
npm ERR!  at ClientRequest.EventEmitter.emit (events.js:88:17) 
npm ERR!  at HTTPParser.parserOnIncomingClient [as onIncoming] (http.js:1445:7) 
npm ERR!  at HTTPParser.parserOnHeadersComplete [as onHeadersComplete] (http.js:111:23) 
npm ERR!  at CleartextStream.socketOnData [as ondata] (http.js:1356:20) 
npm ERR!  at CleartextStream.CryptoStream._push (tls.js:396:27) 
npm ERR!  at SecurePair.cycle (tls.js:751:20) 
npm ERR!  at EncryptedStream.CryptoStream.write (tls.js:131:13) 
npm ERR!  at Socket.ondata (stream.js:38:26) 
npm ERR! [Error: SSL Error: CERT_UNTRUSTED] 
npm ERR! You may report this log at: 
npm ERR!  <http://github.com/isaacs/npm/issues> 
npm ERR! or email it to: 
npm ERR!  <[email protected]> 

npm ERR! System Windows_NT 6.1.7601 
npm ERR! command "C:\\Program Files\\nodejs\\\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "install" "-g" "express" 
npm ERR! cwd E:\myFindings\nodejs_programs\node 
npm ERR! node -v v0.8.0 
npm ERR! npm -v 1.1.32 
npm ERR! message SSL Error: CERT_UNTRUSTED 
npm ERR! 
npm ERR! Additional logging details can be found in: 
npm ERR!  E:\myFindings\nodejs_programs\node\npm-debug.log 
npm ERR! not ok code 0 

mir helfen

aussortieren zu

Antwort

4

Ich denke, ich habe den Grund für den oben genannten Fehler. Es wird der Firmen-Proxy (virtuelles privates Netzwerk) bereitgestellt, um im Client-Netzwerk zu arbeiten. Ohne diese Verbindung war ich oft mit dem gleichen Problem konfrontiert, sei es maven build oder npm install.

2

Wenn Sie hinter einer Unternehmens-Proxy sind, versuchen Sie diese Einstellung für npm mit Proxy Ihres Unternehmens:

npm --https-proxy=http://proxy.company.com install express -g 
+0

Was meinst du mit Proxy des Unternehmens, können Sie bitte erarbeiten .. – Sudip7

+1

Wenn Sie in einer großen Organisation arbeiten, ist es üblich, einen Proxy-Server zwischen Ihnen und dem Internet zu haben. Manchmal verursacht dieses Problem. (Es war für mich) Ein möglicher Test dafür wäre, den Computer aus dem Netzwerk zu nehmen und npm Express von zu Hause aus installieren. –

14
npm ERR! node -v v0.8.0 
npm ERR! npm -v 1.1.32 

Aktualisieren Sie Ihre node.js-Installation.Die folgenden Befehle sollten es tun (von here):

sudo npm cache clean -f 
sudo npm install -g n 
sudo n stable 

Edit: Okay, wenn Sie wirklich einen guten Grund hat eine alte Version der Software ausführen kann, npm set ca null wird das Problem beheben. Es ist passiert, weil das integrierte npm-Zertifikat im Laufe der Jahre abgelaufen ist.

+0

Ich verwende derzeit über zwei Version, was ist Ihr Punkt, konnte ich nicht verstehen, – Sudip7

+0

Mein Punkt ist: Diese Versionen sind alt, und eingebaute npm Zertifikate in denen alle bereits abgelaufen sind. Wenn Sie aktuelle Versionen installieren, funktionieren sie. – alex

+0

Ich habe versucht, die neueste Version zu installieren und habe während der Installation ein Problem bekommen. Jemand in der SO schlug mir vor, die obige Version zu installieren, es wurde korrekt installiert, aber jetzt funktioniert npm nicht. Ich gebe Ihnen Link zu meiner vorherigen Frage http://stackoverflow.com/questions/21850871/trouble-in-installing-nodejs-using-node-v0-10-25-x86-msi – Sudip7

71

Sie können https umgehen unten Befehle:

npm config set strict-ssl false 

oder die Registrierung URL gesetzt von https oder http wie unten:

npm config set registry="http://registry.npmjs.org/" 

jedoch persönlich glaube ich https Umgehung nicht die wirkliche Lösung ist , aber wir können es als Workaround verwenden.

+0

Etwas unsichere, aber schöne reale Lösung. –

+0

Ist es möglich, die Umgehungsoption zu entfernen, nachdem wir den obigen Befehl verwendet haben? Wenn ja, wie können wir die Bypass-Option entfernen? – rash111

+0

@ rash111 Ich nehme an, es True einzustellen sollte funktionieren: '' 'npm config set strict-ssl true''' – Gromer

Verwandte Themen