ChatGPT解决这个技术问题 Extra ChatGPT

How to clear https proxy setting of NPM?

How can I clear the previous ssl proxy setting of NPM? well, I search a lot, but all post I got is mainly about how to set proxy in corporate network.

I try to set proxy to nothing:

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

the first command pass yet the second one warn that:

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

is the warning neglectable and I have successfully clear the proxy setting?

You can manually delete proxy settings from <user_dir>/.npmrc file

s
sra

None of the above helped me, but this did:

npm config rm proxy
npm config rm https-proxy

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


Works on windows
Can use npm config list to check the proxy config, maybe npm config rm http-proxy is needed, too
@Anatolii has an answer for cleaning up global configuration settings below. The rm parameter doesn't work on old versions of npm for Windows -- see @Aaron's answer below.
d
dube

Try deleting them with:

npm config delete proxy
npm config delete https-proxy

It outputs the same warning.
shouldn't it be npm config delete proxy?
This work on windows. Try npm config rm http-proxy on linux
p
privoxyd
npm config rm proxy
npm config rm https-proxy
unset HTTP_PROXY
unset HTTPS_PROXY
unset http_proxy
unset https_proxy

Damn finally this does the trick in Debian Jessie with privoxy (ad remover) installed, Thank you :-)


This was the correct solution on OSX 10.11, tried everything else
This solution works but doesn't seem to stick, after logout / reboot I had the same issue again. Can anyone explain where these variables are getting set? @privoxyd
A
Anatolii Gabuza

This was already answered but I think the --global config is not covered properly.

By running npm config rm proxy you remove proxy from user configuration.
This can be easily verified by running: npm config list.

If there is proxy or https-proxy setting set in global config you have to use --global in the command to remove it.

So at the end this will clean-up proxies from both local and global configs:

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

This --global thing did the trick for me while just removing from the user configuration had no effect. Running on an old NPM version though. #thanksanatolii
M
M. Oguz Ozcan

In the latest version npm rm proxy does not work. Instead use npm rm http-proxy

npm config rm proxy npm config rm https-proxy


M
Michel Hua

By the default value npm is looking for packages from https://registry.npmjs.org. What you also need to do is override the registry and strict-ssl values.

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

This is a nice solution to overcome the whole issue of npm behind proxies.
Thanks for this solution!
S
Shagun Pruthi

I have used the below commands for removing any proxy set:

    npm config rm proxy
    npm config rm https-proxy

And it solved my problem :)


n
nagu

If you go through the npm config documentation, it says:

proxy Default: HTTP_PROXY or http_proxy environment variable, or null Type: url

As per this, to disable usage of proxy, proxy setting must be set to null. To set proxy value to null, one has to make sure that HTTP_PROXY or http_proxy environment variable is not set. So unset these environment variables and make sure that npm config ls -l shows proxy = null.

Also, it is important to note that:

Deleting http_proxy and https_proxy config settings alone will not help if you still have HTTP_PROXY or http_proxy environment variable is set to something and

Setting registry to use http:// and setting strict-ssl to false will not help you if you are not behind a proxy anyway and have HTTP_PROXY set to something.

It would have been better if npm had made the type of proxy setting to boolean to switch on/off the proxy usage. Or, they can introduce a new setting of sort use_proxy of type boolean.


This helped me, all the other suggestions (delete & rm) only remove https-proxy & proxy settings for your local npm config - not the default, by setting null it overrides these default settings
npm 3 does not honor --proxy=null anymore, does anyone know details?
To answer my own question, --no-proxy seems to work
@C-Otto Thank you so much for writing the only answer that worked after hours of banging my head!
@C-Otto Thank you so much. This is the only solution which worked for me. I tried hundreds of other solution but nothing worked. '--no-proxy' did the trick. But do you know why does it pick old proxy settings without '--no-proxy' option and from where?
h
hannad rehman

there is a simple way of deleting or removing the npm proxies.

npm config delete proxy
npm config delete https-proxy

A
Arvind

I had the same problem once.
Follow these steps to delete proxy values:

1.To delete proxy in npm:
(-g is Important)
npm config delete proxy -g
npm config delete http-proxy -g
npm config delete https-proxy -g

Check the npm config file using:
npm config list

2.To delete system proxy: set HTTP_PROXY=null set HTTPS_PROXY=null

Now close the command line and open it to refresh the variables(proxy).


v
velu

Nothing above worked for me. I had to edit the file ".npmrc" which will be under user home directory (ex: c:\users\abcuser) :

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

This Worked for me... To remove proxy we have to change registry as registry.npmjs.org and strict-ssl as true
I am trying this out to see if my project specific .npmrc setting for proxy will override any global settings in the user's home dir which clobber us in a shared build environment.
I updated my project .nprmc file. It did not work
J
James Drinkard

Running npm version 2.10.1 in windows 7, I used:

npm config delete proxy
npm config delete https-proxy

v
venkat7668

This works

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

S
Seun S. Lawal

The easiest way to remove any configuration at all from npm is to edit the npm config file. It only takes two(2) commands to do this; one to open npm config file for editing, the other to confirm your change.

type npm config list to view a list of all npm configurations that are active. type npm config edit to open a text editor with npm configurations. To remove the proxy line ( or simply comment it out ). Save the config file and close it. type npm config list to confirm that the proxy configuration has been removed.

C'est la vie!

I tried everything listed on this page, none worked, then I tried to the config edit. It worked instantly. (I use Windows 10)


@Madhan it is the Swiss Army knife for npm configuration
S
Shehara Jayashan

Try This,

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


If you're using bash (Linux, or Window Git bash), try export HTTP_PROXY= and export HTTPS_PROXY= rather than set ...=null
s
spenibus
npm config delete proxy -g

worked for me.

-g was important as initially it was set with that option. You can check configurations set with :

npm config list

npm write config also on ./etc
k
ketan
npm config rm proxy
npm config rm https-proxy

Worked for me


Z
Ziggurat

I think it's not http-proxy but proxy:

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

It always showed npm ERR! If you are behind a proxy, please make sure that the npm ERR! 'proxy' config is set properly. See: 'npm help config' None of the other options worked. This one worked best.
C
Cyril

Got exactly the same problem, I keep seeing my proxy configuration even after removing the npmrc file and deleting the keys.

I found out that npm were using windows env key http-proxy by default.

So go in Computer->Properties->Advanced system settings->Environement variables and check there is no http-proxy key configured.


Interesting, I checked the environment variables and I don't have things like http-proxy. Maybe the warning is really neglectable.
K
KajMagnus

In my case (Linux Mint 16 based on Ubuntu), I had to:

npm config delete https-proxy, and also clear the https_proxy Bash environment parameter — oddly enough, although I cannot find this behavior documented anywhere, npm fallbacks to 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


H
Hari Gillala

See the npm Settings in file C:\Users\myusers.npmrc file. Sometime the npm proxy config settings does not apply. so its worth checking in there.


v
venergiac
npm config delete http-proxy
npm config delete https-proxy

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

then

npm config get proxy

null

also

npm i -g bower to update

npm had a bug on the proxy


A
Ankur Dhawan

execute npm config list it will list down all proxy values.. in my case proxy value was fetched form global npmrc file, removed it and was able to complete npm install on my windows machine


I removed proxy in Global .nprmc . I started getting 407 Error. I was behind corporate proxy
N
Nicolas Meinen

Well, I'm gonna leave this here because I was having a big trouble with NPM.

I was trying to change a proxy setting using npm config set proxy "http://.../" and then running npm config get proxy. It was ALWAYS returning a wrong value, different from the one that I'd set.

I found out that I had a .npmrc COMMITED on the project I was trying to run npm install and that this file was overriding my own config.

So it was cleaning the proxy value, but I needed to also change the .npmrc inside the folder's project.

After that, everything worked fine.


p
pix

If you want to switch between proxy for company network and remove proxy for home/personal network you can use --no-proxy

Sample usage:

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

D
Dirceu Henrique

I've used

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

and it worked for me.

Best regards


R
Ravinath

this works for me fime

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

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

sample in my instance username:uname and password: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

This is setting, we are looking for clear which is exact opposite
E
Erik James Robles

I was struggling with this for ages. What I finally did was go into the .npmrc file (which can be found in the user's directory followed by the user's name, ie. C:\Users\erikj/.npmrc), opened it with a text editor, manually removed any proxy settings and changed the http:// setting to https://. In this case, it is a matter of experimenting whether http or https will work for you. In my case, https worked. Go figure.


l
lautaro msc

In my case, (windows OS), after put all those commands listed, npm kept taking the proxy in the setting of windows registry

\ HKEY_CURRENT_USER \ Environment

just remove the proxy settings there, after that, I restarted the pc and then "npm install" worked for me

Example


R
Rishabh Agarwal

Http Module is deprecated and it is replaced with HttpClient.

Change your imports to import { HttpClientModule } from '@angular/common/http';