[Node.js] Is there a way to make npm install (the command) to work behind proxy?


Setup npm proxy


npm config set proxy http://proxy_host:port


npm config set https-proxy http://proxy.company.com:8080

Note: The https-proxy doesn't have https as the protocol, but http.


Read about a proxy variable in a .npmrc file but it does not work. Trying to avoid manually downloading all require packages and installing.

After tying different answers finally, @Kayvar answers's first four lines help me to solve the issue:

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

In my case, I forgot to set the "http://" in my config files (can be found in C: \Users \ [USERNAME] \ .npmrc) proxy adresses. So instead of having


I had


Which of course did not work, but the error messages didnt help much either...

Have you tried command-line options instead of the .npmrc file?

I think something like npm --proxy http://proxy-server:8080/ install {package-name} worked for me.

I've also seen the following: npm config set proxy http://proxy-server:8080/

Use below command at cmd or GIT Bash or other prompt

$ npm config set proxy ""

$ npm config set https-proxy ""

where is proxy ip and 4128 is port. change according to your proxy settings. its works for me.

Try to find .npmrc in C:\Users\.npmrc

then open (notepad), write, and save inside :


PS : remove "<" and ">" please !!

To setup the http proxy have the -g flag set:

sudo npm config set proxy http://proxy_host:port -g

For https proxy, again make sure the -g flag is set:

sudo npm config set https-proxy http://proxy_host:port -g

On Windows system

Try removing the proxy and registry settings (if already set) and set environment variables on command line via

SET HTTP_PROXY=http://username:password@domain:port
SET HTTPS_PROXY=http://username:password@domain:port

then try to run npm install. By this, you'll not set the proxy in .npmrc but for that session it will work.

vim ~/.npmrc in your Linux machine and add following. Don't forget to add registry part as this cause failure in many cases.


$ npm config set proxy http://login:pass@host:port
$ npm config set https-proxy http://login:pass@host:port

There has been many answers above for this question, but none of those worked for me. All of them mentioned to add http:// prefix. So I added it too. All failed.

It finally works after I accidentally removed http:// prefix. Final config is like this:

npm config set registry http://registry.npmjs.org/
npm config set http-proxy ip:port
npm config set https-proxy ip:port
npm config set proxy ip:port
npm set strict-ssl false

I don't know the logic behind this, but it worked. If none of answers above works for you, maybe you can have a try on this way. Hope this one is useful.

I tried all of these options, but my proxy wasn't having any of it for some reason. Then, born out of desparation/despair, I randomly tried curl in my Git Bash shell, and it worked.

Unsetting all of the proxy options using

npm config rm proxy
npm config rm https-proxy

And then running npm install in my Git Bash shell worked perfectly. I don't know how it's set up correctly for the proxy and the Windows cmd prompt isn't, but it worked.