我正在尝试在代理后面运行npm 。我尝试过直接或通过Authoxy输入代理:
npm config set proxy http://localhost:8999
npm config set https-proxy http://localhost:8999
无论我使用哪个代理,运行时我总是会遇到相同的错误npm search
:
npm info it worked if it ends with ok
npm verb cli [ 'node', '/usr/local/bin/npm', 'search' ]
npm info using npm@1.1.45
npm info using node@v0.8.4
npm verb config file /Users/xxx/.npmrc
npm verb config file /usr/local/etc/npmrc
npm verb config file /usr/local/lib/node_modules/npm/npmrc
npm WARN Building the local index for the first time, please be patient
npm verb url raw /-/all
npm verb url resolving [ 'https://registry.npmjs.org/', './-/all' ]
npm verb url resolved https://registry.npmjs.org/-/all
npm info retry registry request attempt 1 at 09:48:47
npm http GET https://registry.npmjs.org/-/all
npm info retry will retry, error on last attempt: Error: tunneling socket could not be established, sutatusCode=403
npm info retry registry request attempt 2 at 09:48:57
npm http GET https://registry.npmjs.org/-/all
npm info retry will retry, error on last attempt: Error: tunneling socket could not be established, sutatusCode=403
npm info retry registry request attempt 3 at 09:49:57
npm http GET https://registry.npmjs.org/-/all
npm ERR! Error: tunneling socket could not be established, sutatusCode=403
npm ERR! at ClientRequest.onConnect (/usr/local/lib/node_modules/npm/node_modules/request/tunnel.js:148:19)
npm ERR! at ClientRequest.g (events.js:185:14)
npm ERR! at ClientRequest.EventEmitter.emit (events.js:115:20)
npm ERR! at Socket.socketOnData (http.js:1383:11)
npm ERR! at TCP.onread (net.js:410:27)
sutatusCode
该命令总是以[sic!] 403失败- 这意味着未经授权。我已将 Authoxy 设置为不需要用户名/密码。当我绕过 Authoxy 并以 http://user:pass@proxy:port 的形式为我们的 NTLM 代理提供真正的代理凭据时,也会发生同样的错误。
如何通过代理完成这项工作?
更新
我在 NPM 项目上创建了一个问题来报告此问题:https ://github.com/isaacs/npm/issues/2866