阅读.npmrc文件中的代理变量,但它不起作用。尽量避免手动下载所有需要的包并安装。


当前回答

这对我来说在Windows中是有效的:

npm config set proxy http://domain%5Cuser:pass@host:port

如果您不在任何域中,请使用:

npm config set proxy http://user:pass@host:port

如果您的密码包含特殊字符,如“,@,:等,请将它们替换为URL编码值。例如“->%22,@->%40,:->%3A。%5C用于字符\。

其他回答

设置npm代理

对于HTTP:

npm config set proxy http://proxy_host:port

HTTPS:

如果有HTTPS代理地址,请使用

npm config set https-proxy https://proxy.company.com:8080

否则重用HTTP代理地址

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

注意:http -proxy没有使用https作为协议,而是使用http。

我尝试了所有这些选择,但出于某种原因,我的代理人没有任何选择。然后,出于绝望,我在Git Bash shell中随机尝试了curl,它起作用了。

清除使用的所有代理选项

npm config rm proxy
npm config rm https-proxy

然后在我的Git Bash shell中运行npm install,效果非常好。我不知道如何正确设置代理和Windows cmd提示符,但它工作。

最后,我已经设法解决了这个问题背后的代理与AD认证。我必须执行:

npm config set proxy http://domain%5Cuser:password@proxy:port/
npm config set https-proxy http://domain%5Cuser:password@proxy:port/

URL编码任何特殊字符(如反斜杠或#)是非常重要的 在我的情况下,我必须编码

反shashly %5C,这样域\user将是域%5Cuser #使用%23%0A,这样密码#2将是密码%23%0A2

我还添加了以下设置:

npm config set strict-ssl false
npm config set registry http://registry.npmjs.org/

去环境变量和删除或设置为空

HTTP_PROXY和HTTPS_PROXY

这也将解决企业环境的代理问题

Windows系统

尝试删除代理和注册表设置(如果已经设置),并通过命令行设置环境变量

SET HTTP_PROXY=http://username:password@domain:port
SET HTTPS_PROXY=http://username:password@domain:port

然后尝试运行NPM install。这样,你就不用在.npmrc中设置代理了,但是对于那个会话,它是可以工作的。