你能在NPM中配置NO_PROXY吗?

时间:2017-01-10 16:58:12

标签: npm npm-install

使用私有npm存储库时,我需要能够通过代理服务器发送一些请求,而其他请求则直接发送到服务器。

通常,设置环境变量HTTP_PROXY,HTTPS_PROXY和NO_PROXY可解决此问题。

我理解npm没有no_proxy的命令行选项,但是我无法让npm尊重NO_PROXY环境变量:在设置上面的环境变量之后,下载外部库时npm安装超时(需要通过公司代理下载)

我的〜/ .npmrc文件包含以下内容:

注册表= http://[internal_npm_registry]

电子邮件= [电子邮件]

我正在运行npm版本3.10.10。有没有人有同样的需求并解决了它?

2 个答案:

答案 0 :(得分:7)

我在工作中遇到了同样的问题:我们有一个私有的Nexus npm存储库,我们托管一些自定义模块,我们需要npm在请求这些软件包时不使用代理。

我在Windows中找到的唯一可靠的解决方案是设置您列出的环境变量,并实际从npm中删除所有代理值(将proxyhttps-proxyhttps_proxy全部设置为{{ 1}}在您的null文件中。

例如,项目根目录中的.npmrc文件如下所示:

.npmrc

坚持上面的示例,您的strict-ssl=false ca=null registry=http://my-nexus-repo.com/repository/npm-packages/ my-custom-registry-on-nexus:registry=http://my-nexus-repo.com/repository/hosted-npm-packages/ https_proxy=null https-proxy=null proxy=null 环境变量看起来像:

no_proxy

这样做可以让我们无缝地安装所有npm软件包(甚至是像my-nexus-repo.com,localhost那些在npm之外下载tarball的棘手的软件包。)

答案 1 :(得分:5)

使用npm 5.3.0 / node 8.4.0NO_PROXY环境变量可用作魅力!