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


当前回答

设置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。

其他回答

这对我来说在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 config set proxy http://login:pass@host:port
$ npm config set https-proxy http://login:pass@host:port

Windows系统

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

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

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

对于这个问题,上面有很多答案,但没有一个对我有用。他们都提到要添加http://前缀。所以我也加了进去。都失败了。

它终于工作后,我不小心删除了http://前缀。最终配置如下:

npm config set registry http://registry.npmjs.org/
npm config set http-proxy ip:port
npm config set https-proxy ip:port
npm config set proxy ip:port
npm set strict-ssl false

我不知道这背后的逻辑,但它奏效了。如果以上答案都不适合你,也许你可以试试这种方法。希望这个对你有用。

这对我很管用

npm config set proxy http://proxy.company.com:8080
npm config set https-proxy http://proxy.company.com:8080
npm set strict-ssl=false