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


当前回答

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

HTTP_PROXY和HTTPS_PROXY

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

其他回答

最后,我已经设法解决了这个问题背后的代理与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/

要在NPM安装中使用代理,忘记所有NPM配置的东西,只需在代理环境变量中设置一个HTTP代理,然后执行NPM I

export https_proxy=http://proxy.address.com:1090/
export http_proxy=http://proxy.address.com:1090/

这对我来说总是有效的。

我不知道为什么,但NPM似乎不能很好地与socks代理,但它与HTTP代理工作得很好。

npm config set proxy <http://...>:<port_number>
npm config set registry http://registry.npmjs.org/

这解决了我的问题。

你尝试过命令行选项而不是.npmrc文件吗?

我认为类似于npm——proxy http://proxy-server:8080/ install {package-name}的东西对我有用。

我还看到了以下内容: NPM配置设置代理http://proxy-server:8080/

在最后捆绑了不同的答案后,@Kayvar回答的前四行帮助我解决了这个问题:

npm config set registry http://registry.npmjs.org/
npm config set proxy http://myusername:mypassword@proxy.us.somecompany:8080
npm config set https-proxy http://myusername:mypassword@proxy.us.somecompany:8080
npm config set strict-ssl false