我需要在 Windows 上运行最新版本的 Node 和 NPM。我安装了 Node 0.5.8,并从 GitHub 下载了 NPM 的源代码。我安装 NPM 所遵循的步骤在其 GitHub 网站上列出,但我在运行以下命令时遇到问题:
node cli.js install npm -gf
但失败并显示以下错误消息:
Error: connect UNKNOWN
at errnoException (net_uv.js:566:11)
at Object.afterConnect [as oncomplete] (net_uv.js:557:18)
System Windows_NT 5.1.2600
command "...\\Node\\bin\\node.exe" "...\\npm\\cli.js" "install" "npm" "-gf"
cwd ...\npm
node -v v0.5.8
npm -v 1.0.94
code UNKNOWN
我认为这是一个问题,因为我需要在代理上进行身份验证才能连接到互联网。但我找不到任何方法告诉安装程序使用我的凭据进行登录。是否有可能通过命令行参数向 npm 安装提供我的代理 IP 和登录信息?
如果需要,我可以使用 pastebin 提供完整的日志(但似乎没有更多相关信息)。
答案1
set http_proxy
对我来说效果很好,但每次打开命令提示符时我都必须输入它。所以我不得不组合多个答案,现在我的答案是永久的。
我的顺序如下:
- 去
C:\Users\YourUserName
- 创建名为
.npmrc
- 在该文件中输入以下内容(如果您在 AD 域中):
proxy = http://domain\\username:password@ip:port
- 或者如果您不在 AD 域中则使用此功能:
proxy = http://username:password@ip:port
- 保存文件
- 打开命令提示符并尝试使用
npm
其他人通过以下额外命令获得了额外的成功:
strict-ssl = false
*您应该能够使用 IP 地址或代理的 URL 来代替上面的“IP”。
您的代理字符串可能需要稍微调整一下,但这样我就不必每次都添加它。
干杯
答案2
也许设置环境变量会对你有用:
set HTTP_PROXY=http://user:[email protected]:port
(就我而言,这解决了“连接未知”的问题,但我收到了完全不同的“套接字挂断”错误。我也尝试设置 HTTPS_PROXY 环境变量,但得到了相同的结果。)
答案3
我遇到了同样的问题,以下是我为解决此问题所采取的措施:
- 去:
C:\Users\YourUserName
- 创建名为
.npmrc
它的条目内容如下:
registry = http://registry.npmjs.org
再次尝试该命令
node cli.js install npm -gf
。
答案4
以下对我有用。
在 Windows 7 上:
npm config set proxy xxhttp://username:password@proxyhost:port#
这应该会在文件夹.npmrc
中创建一个名为的文件C:/users/<username>
。