Wenn ich versuche, ein Paket mit npm zu installieren, funktioniert es nicht. Nach langem Warten erhalte ich schließlich die Fehlermeldung 'Tunneling-Socket konnte nicht eingerichtet werden, sutatusCode = 403'.
$ npm install coffee-script
npm http GET https://registry.npmjs.org/coffee-script
npm http GET https://registry.npmjs.org/coffee-script
npm http GET https://registry.npmjs.org/coffee-script
npm ERR! Error: tunneling socket could not be established, sutatusCode=403
npm ERR! at ClientRequest.onConnect (c:\Program Files\nodejs\node_modules\npm\node_modules\request\tunnel.js:148:19)
npm ERR! at ClientRequest.g (events.js:193:14)
npm ERR! at ClientRequest.EventEmitter.emit (events.js:123:20)
npm ERR! at Socket.socketOnData (http.js:1393:11)
npm ERR! at TCP.onread (net.js:403:27)
Wenn ich jedoch in meinem Webbrowser (Google Chrome) zu derselben URL navigiere, wird sie problemlos geladen (siehe Fußnote). https://registry.npmjs.org/coffee-script
Was läuft falsch?
Obwohl ich zufällig einen https-Proxy verwende, bin ich mir sicher, dass dies nicht das Problem ist. Ich habe die Umgebungsvariable konfiguriert https_proxy
(gemäß dem npm- Benutzerhandbuch ). Ich weiß, dass die Umgebungsvariable korrekt ist, da der Python-Paketmanager pip
sie korrekt befolgt.
Ich glaube, das Problem betrifft SSL-Zertifikate, denn wenn ich diese URL mit herunterlade, wget
erhalte ich einen expliziten Fehler über Zertifikate
$ wget https://registry.npmjs.org/coffee-script
SYSTEM_WGETRC = c:/progra~1/wget/etc/wgetrc
syswgetrc = c:/progra~1/wget/etc/wgetrc
--2012-12-17 12:14:07-- https://registry.npmjs.org/coffee-script
Resolving corpproxy... 10.254.215.35
Connecting to corpproxy|10.254.215.35|:8080... connected.
ERROR: cannot verify registry.npmjs.org's certificate, issued by `/C=US/ST=CA/L=Oakland/O=npm/OU=npm Certificate Authority/CN=npmCA/emailAddress=i@izs.me':
Unable to locally verify the issuer's authority.
To connect to registry.npmjs.org insecurely, use `--no-check-certificate'.
Unable to establish SSL connection.
Wie kann ich das beheben? Ohne die Sicherheit zu gefährden.
Ich habe auch SSL-Zertifikatfehler in meinem Webbrowser erhalten, bis ich das 'npmCA'-Zertifikat als' vertrauenswürdige Stammzertifizierungsstelle 'in den Internetoptionen der Systemsteuerung installiert habe (Screenshot ).
Bearbeiten: Ich habe eine unsichere Problemumgehung unter https://npmjs.org/doc/config.html#strict-ssl versucht
npm set strict-ssl false
Trotzdem tritt eine Zeitüberschreitung mit demselben Fehler auf
$ npm install coffee-script
npm http GET https://registry.npmjs.org/coffee-script
npm http GET https://registry.npmjs.org/coffee-script
npm http GET https://registry.npmjs.org/coffee-script
npm ERR! Error: tunneling socket could not be established, sutatusCode=403