你能在NPM中配置NO_PROXY吗?

Dan*_*ano 9 npm npm-install

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

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

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

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

registry = http:// [internal_npm_registry]

电子邮件= [电子邮件]

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

GFo*_*y83 7

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

唯一可靠的解决方案,我发现的Windows是通过设置您所列出的环境变量(组实际上去除NPM所有代理值proxy,https-proxy以及https_proxy所有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
Run Code Online (Sandbox Code Playgroud)

坚持上面的例子,你的no_proxy环境变量看起来像:

my-nexus-repo.com,localhost

这样做可以让我们无缝地安装所有npm软件包(甚至是像node-sassnpm之外的下载tarball 那样棘手的软件包).


小智 5

有了npm 5.3.0 / node 8.4.0,NO_PROXY环境变量就可以发挥作用了!