大家好,我一直试图在我的企业PC上配置和使用npm,但没有成功。
我设置了代理,https-proxy,strict-ssl false,注册表http://registry.npmjs.org 代理已设置为“http://user:password@proxy_ip:proxy:port” 密码中有一个用urlencode编写的特殊字符。
npm config get proxy
返回具有凭据的代理,因为它们应该是。
我已经清除了我的npm缓存并再次尝试。
没有成功。
任何想法可能是什么问题?
答案 0 :(得分:3)
通常,当您在公司代理服务器后面时,需要添加您所在的域。鉴于字符也应该是URL编码,它看起来像:
答案 1 :(得分:3)
我们应该使用用户名和密码添加代理,以避免出现此错误 例如:用户名-admin,密码-admin123,代理-172.10.3.21,端口-3128
npm配置集代理http://admin:admin123@172.10.3.21:3128 npm config设置https-proxy http://admin:admin123@172.10.3.21:3128
答案 2 :(得分:2)
我建议阅读本文以配置npm的代理。 http://wil.boayue.com/blog/2013/06/14/using-npm-behind-a-proxy/
npm config set http-proxy http://proxy.company.com:proxyport
npm config set https-proxy http://proxy.company.com:proxyport
{{1}}
希望这对你有用!
答案 3 :(得分:1)
如果您使用Windows和cntlm,并且从cntlm代理服务器收到407错误,请确保cntlm.ini中的PassNTLMv2是最新的,因为每次更改域密码时都必须重新创建它。
答案 4 :(得分:0)
在用户文件夹中编辑.npmrc文件对我有用。 我将代理和npm注册表设置如下:
proxy=http://username:password@proxy:port/
https-proxy=http://username:password@proxy:port
registry=http://registry.npmjs.org/
注意:对于包含特殊字符的使用名和密码,需要在代理配置中对字符进行编码。 例如,如果用户名是“ user”,密码是“ 1234 @ user”,则.npmrc文件将如下所示:
proxy=http://user:1234%40user@proxy:port/
https-proxy=http://user:1234@user@proxy:port
registry=http://registry.npmjs.org/
其中,%40是“ @”的编码形式。 在我的情况下,井号(#)未被用户名或密码接受(不知道为什么)。