如何清除NPM的https代理设置?


268

如何清除NPM的以前的SSL代理设置?好吧,我搜索了很多东西,但是我得到的所有帖子主要是关于如何set在公司网络中进行代理的。

我尝试将代理设置为空:

npm config set http-proxy
npm config set https-proxy

第一个命令传递而第二个命令警告:

npm WARN invalid config proxy=""
npm WARN invalid config Must be a full url with 'http://'

可以忽略的警告,并且我已经成功清除了代理设置?


7
您可以从<user_dir>/.npmrc文件中手动删除代理设置
Salman 2014年

Answers:


432

以上都不对我有帮助,但这确实做到了:

npm config rm proxy
npm config rm https-proxy

来源:http//jonathanblog2000.blogspot.ch/2013/11/set-and-reset-proxy-for-git-and-npm.html


在Windows上工作
Leon非洲,

2
可以npm config list用来检查代理配置,也许npm config rm http-proxy也需要
Tina Chen,

@Anatolii提供了以下清理全局配置设置的答案。该rm参数不适npm用于Windows的旧版本-请参阅下面的@Aaron答案。

133

尝试使用以下方法删除它们:

npm config delete proxy
npm config delete https-proxy

它输出相同的警告。
艾伦·鲁恩

7
它不是npm config delete proxy吗?
Frank Fu

4
这项工作在Windows上。尝试npm config rm http-proxy使用Linux
Sydwell

42
npm config rm proxy
npm config rm https-proxy
unset HTTP_PROXY
unset HTTPS_PROXY
unset http_proxy
unset https_proxy

最终该死的,这在Debian Jessie中安装了privoxy(广告去除剂)就可以了,谢谢:-)


这是OSX 10.11上的正确解决方案,尝试了其他所有方法
Shooky

此解决方案有效,但似乎不存在,注销/重新启动后,我再次遇到相同的问题。谁能解释在哪里设置这些变量?@privoxyd
Shooky

33

这已经得到了回答,但我认为该--global配置未正确涵盖。

通过运行,npm config rm proxy可以从用户配置中删除代理。
可以通过运行轻松验证npm config list

如果全局配置中有设置proxyhttps-proxy设置,则必须--global在命令中使用它来将其删除。

因此,最后这将从本地和全局配置中清除代理:

npm config rm proxy
npm config rm https-proxy
npm config --global rm proxy
npm config --global rm https-proxy

2
这--global事情对我来说是成功的窍门,而只是从用户配置中删除则无效。虽然在旧版本的NPM上运行。#thanksanatolii
Matti.b


21

默认值npm是从中查找软件包https://registry.npmjs.org。您还需要做的是覆盖registrystrict-ssl值。

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

这是一个很好的解决方案,可以克服代理背后的整个npm问题。
markau 2014年

21

如果您查看npm config文档,它将显示:

代理

默认值:HTTP_PROXY或http_proxy环境变量,或者为null

类型:网址

因此,要禁用代理使用,proxy必须将设置设置为null。要将代理值设置为null,必须确保未设置HTTP_PROXYhttp_proxy环境变量。因此,请取消设置这些环境变量,并确保npm config ls -l显示proxy = null

另外,重要的是要注意:

  • 如果您仍然将HTTP_PROXY或http_proxy环境变量设置为某项,并且仅删除http_proxy和https_proxy配置设置将无济于事。
  • 如果您仍然不使用代理并将HTTP_PROXY设置为某些值,则将注册表设置为使用http://并将strict-ssl设置为false不会对您有帮助。

如果npm将代理设置的类型设置为boolean以打开/关闭代理使用会更好。或者,他们可以引入一种use_proxy类型为boolean 的新设置。


3
这对我有帮助,所有其他建议(deleterm)仅删除了本地npm配置的https-proxyproxy设置- 不是默认设置,通过设置null会覆盖这些默认设置
Wayne Austin

npm 3不再兑现--proxy=null,有人知道细节吗?
奥托

3
要回答我自己的问题,这--no-proxy似乎可行
C-Otto

@ C-Otto非常感谢您写了唯一经过数小时的努力才奏效的答案!
Mustafa Alammar '16

@ C-Otto非常感谢。这是唯一对我有用的解决方案。我尝试了其他数百种解决方案,但没有任何效果。'--no-proxy'成功了。但是您知道为什么它会选择没有'--no-proxy'选项的旧代理设置吗?
Lokesh Jain

21

我已使用以下命令删除任何代理集:

    npm config rm proxy
    npm config rm https-proxy

它解决了我的问题:)


16

有一种简单的删除或删除npm代理的方法。

npm config delete proxy
npm config delete https-proxy

14

我曾经遇到过同样的问题。
请按照以下步骤删除代理值:

1.要在npm中删除代理:
(-g很重要)
npm config delete proxy -g
npm config delete http-proxy -g
npm config delete https-proxy -g

使用以下方法检查npm配置文件:
npm config list

2.要删除系统代理: set HTTP_PROXY=null set HTTPS_PROXY=null

现在关闭命令行并打开它以刷新变量(代理)。


13

以上对我没有任何帮助。我必须编辑文件“ .npmrc”,该文件将位于用户主目录下(例如:c:\ users \ abcuser):

http_proxy=null
registry=https://registry.npmjs.org/
strict-ssl=true
proxy=null

3
这对我有用...要删除代理,我们必须将注册表更改为registry.npmjs.org,将strict-ssl 更改为true
Vicky

我正在尝试此操作,以查看我针对代理的项目特定的.npmrc设置是否将覆盖用户主目录中的所有全局设置,这些设置会破坏我们在共享构建环境中的地位。
httpete

12

在Windows 7中运行npm 2.10.1版本,我使用了:

npm config delete proxy
npm config delete https-proxy

11

这有效

npm config delete http-proxy
npm config delete https-proxy

npm config rm proxy
npm config rm https-proxy

set HTTP_PROXY=null
set HTTPS_PROXY=null

8

从npm删除所有配置的最简单方法是编辑npm配置文件。只需两(2)条命令即可完成此操作;一个打开npm配置文件进行编辑,另一个确认您的更改。

  1. 键入npm config list以查看所有活动的所有npm配置的列表。
  2. 键入npm config edit以打开具有npm配置的文本编辑器。删除代理行(或简单地将其注释掉)。
  3. 保存配置文件并关闭它。
  4. 键入npm config list以确认代理配置已被删除。

这就是生活!

我尝试了此页面上列出的所有内容,但均无效果,然后尝试进行配置编辑。它立即起作用。(我使用Windows 10)


@Madhan,这是用于npm配置的瑞士军刀
Seun S. Lawal

7
npm config delete proxy -g

为我工作。

-g很重要,因为最初是使用该选项设置的。您可以使用以下命令检查配置设置:

npm config list

npm也可以在./etc上写入配置
venergiac 2016年

5

我认为这不是http-proxy,而是代理:

npm config set proxy="http://yourproxyhere"

它始终显示 npm ERR! If you are behind a proxy, please make sure that the npm ERR! 'proxy' config is set properly. See: 'npm help config' 其他选项均无效。这一个效果最好。
Shiyaz


3

遇到完全相同的问题,即使删除了npmrc文件并删除了密钥,我仍然看到我的代理配置。

我发现npm默认使用Windows env键http-proxy。

因此,进入“计算机”->“属性”->“高级系统设置”->“环境变量”,并检查是否未配置http-proxy密钥。


有趣的是,我检查了环境变量,但没有诸如之类的东西http-proxy。警告也许真的可以忽略不计。
艾伦·鲁恩

3

就我而言(基于Ubuntu的Linux Mint 16),我必须:

  1. npm config delete https-proxy,并且

  2. 清除https_proxyBash环境参数-奇怪的是,尽管我找不到任何地方记录的这种行为,npm后备到https_proxy

    $ http_proxy='' https_proxy='' npm config get https-proxy
    null
    $ http_proxy='' xxhttps_proxy='' npm config get https-proxy
    https://1.2.3.4:8080

3

请参阅文件C:\Users\myusers.npmrc文件中的npm设置。有时npm代理配置设置不适用。因此值得在那里检查。


3

试试这个,

npm config删除http-proxy

npm config删除https-proxy

npm config rm代理

npm config rm https-proxy

设置HTTP_PROXY = null

设置HTTPS_PROXY = null


2
npm config delete http-proxy
npm config delete https-proxy

npm config delete proxy -g
npm config delete http-proxy -g

然后

npm config get proxy

空值

npm i -g bower to update

npm在代理上有错误


2

执行npm config列表,它将列出所有代理值。.在我的情况下,代理值是从全局npmrc文件中提取的,将其删除后能够在Windows机器上完成npm安装


1

我用过

npm config set proxy null
npm config set https-proxy null

它为我工作。

最好的祝福


1

这对我有用

proxy=http://<username>:<pass>@proxyhost:<port>

https-proxy=http://<uname>:<pass>@proxyhost:<port>

我的实例中的示例用户名:uname和密码:pword

npm config set proxy=http://uname:pword@192.168.5.8:8080

npm config set https-proxy=http://uname:pword@192.168.5.8:8080

这是背景,我们正在寻找明确的对立面
P Satish Patro

1

我一直为此苦苦挣扎。我最后要做的是进入.npmrc文件(可以在用户目录中找到,后跟用户名,即C:\ Users \ erikj / .npmrc),使用文本编辑器将其打开,手动删除任何代理设置,并将http://设置更改为https://。在这种情况下,您可以尝试使用http还是https。就我而言,https有效。去搞清楚。


1

好吧,我要离开这里,因为我在NPM方面遇到了很大麻烦。

我试图使用更改代理设置npm config set proxy "http://.../",然后运行npm config get proxy。总是返回错误的值,这与我设置的值不同。

我发现.npmrc我尝试运行的项目上有一个COMMITED,npm install并且该文件覆盖了我自己的配置。

因此,它正在清理代理价值,但我还需要更改 .npmrc文件夹项目中内部内容。

之后,一切正常。


1

如果要在公司网络的代理之间切换并删除家庭/个人网络的代理,可以使用 --no-proxy

用法示例:

npm install --save-dev "@angular/animations@8.2.14" --no-proxy

1

在我的情况下(Windows OS),在列出所有这些命令之后,npm继续在Windows注册表的设置中使用代理

\ HKEY_CURRENT_USER \环境

只需删除那里的代理设置,之后,我重新启动计算机,然后“ npm install”为我工作


0

不推荐使用 Http模块,并用HttpClient代替。

将进口商品更改import { HttpClientModule }'@angular/common/http';

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.