如何在 Windows 上安装身份验证代理后面的 NPM?

如何在 Windows 上安装身份验证代理后面的 NPM?

我需要在 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>

相关内容