npmでパッケージをインストールしようとすると、機能しません。長い間待った後、最終的にエラーが発生しました 'トンネリングソケットを確立できませんでした、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)
ただし、Webブラウザ(Google Chrome)で同じURLを参照すると、正常に読み込まれます(脚注を参照)。https://registry.npmjs.org/coffee-script
何が問題なのですか?
私はたまたまhttpsプロキシを使用していますが、これは問題ではないと確信しています。環境変数を構成しましたhttps_proxy
(npmユーザーガイドに従って)。Pythonパッケージマネージャーが環境変数を正しく追跡しているため、環境変数が正しいことはわかっていますpip
。
この問題はSSL証明書に関連していると思います。そのURLをwget
でダウンロードすると、証明書に関する明示的なエラーが発生するためです。
$ 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.
どうすればこれを修正できますか?セキュリティを損なうことなく。
コントロールパネルのインターネットオプションで「信頼されたルート証明機関」として「npmCA」証明書をインストールするまで、WebブラウザでもSSL証明書エラーが発生していました(スクリーンショット)
編集:https: //npmjs.org/doc/config.html#strict-sslに従って安全でない回避策を試しました
npm set strict-ssl false
それでも、同じエラーでタイムアウトします
$ 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