407需要验证npm

And*_*iFB 5 configuration proxy node.js npm npm-install

大家好,我一直在尝试在企业PC上配置和使用npm,但没有成功。

我已经设置了代理,https-proxy,strict-ssl为false,注册表http://registry.npmjs.org 代理已被设置为“ http:// user:password @ proxy_ip:proxy:port ”用urlencode编写的特殊字符。

npm config get proxy 
Run Code Online (Sandbox Code Playgroud)

返回具有凭据的代理服务器。

我已经清除了npm缓存,然后重试。

没有成功

任何想法可能是什么问题?

Suh*_*vad 14

我建议通读这篇文章来为 npm 配置代理。 http://wil.boayue.com/blog/2013/06/14/using-npm-behind-a-proxy/

  • npm config set proxy http://proxy.company.com:proxyport

  • npm config set http-proxy http://proxy.company.com:proxyport

  • npm config set https-proxy http://proxy.company.com:proxyport

希望这对你有用!


小智 11

我们应该添加带有用户名和密码的代理以避免此错误。例如:

  • 用户名:admin
  • 密码:admin123
  • 代理:172.10.3.21
  • 端口:3128

npm config set proxy http://admin:admin123@172.10.3.21:3128
npm config set https-proxy http://admin:admin123@172.10.3.21:3128
Run Code Online (Sandbox Code Playgroud)

  • 除了像这样公开密码之外,还有什么办法可以做到这一点吗?我希望在 Windows 机器上“凭据管理器”能够工作,但事实并非如此! (3认同)

小智 9

编辑用户文件夹中的 .npmrc 文件对我有用。我设置代理和 npm 注册表如下:

proxy=http://username:password@proxy:port/
https-proxy=http://username:password@proxy:port
registry=http://registry.npmjs.org/  
Run Code Online (Sandbox Code Playgroud)

注意:对于包含特殊字符的用户名和密码,需要在代理配置中对这些字符进行编码。例如,如果用户名是“user”,密码是“1234@user”,那么 .npmrc 文件将如下所示:

proxy=http://user:1234%40user@proxy:port/
https-proxy=http://user:1234@user@proxy:port
registry=http://registry.npmjs.org/ 
Run Code Online (Sandbox Code Playgroud)

其中,%40是“@”的编码形式。就我而言,用户名或密码中没有接受英镑符号(#)(不知道为什么)。


小智 6

通常,当您位于公司代理的背后时,需要添加您所在的域。假设字符也应进行URL编码,则看起来像:

https:// domain%5Cusername:password @ proxy:port