Коли я намагаюся встановити пакет з 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)
Однак, коли я переглядаю ту саму URL-адресу у своєму веб-браузері (Google Chrome), вона завантажується нормально (див. Виноску). 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.
Як я можу це виправити? Без шкоди для безпеки.
Раніше я також отримував помилки сертифіката SSL у своєму веб-браузері, поки не встановив сертифікат 'npmCA' як `` довірений орган кореневої сертифікації '' в `` Властивостях браузера '' (знімок екрана
)
Редагувати: я спробував небезпечний обхідний шлях за 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