Reputation: 249
Hello everyone I´ve been trying to configure and use npm on my enterprise PC without success.
I´ve set proxy, https-proxy, strict-ssl false, registry http://registry.npmjs.org proxy has been set like this "http://user:password@proxy_ip:proxy:port" Where the password has a special character written in urlencode.
npm config get proxy
returns proxy with credentials as they should be.
I have cleared my npm cache and tried again.
No success.
Any ideas what can be the problem?
Upvotes: 20
Views: 117826
Reputation: 49
When I received that error it was because our security team changed the url of the proxy. Updating to the new url fixed it for me.
Upvotes: 0
Reputation: 1033
I had this error on my corporate machine and this command in Terminal fixed it:
proxyOn () {
export PROXY_CREDS=http://localhost:9000
export ALL_PROXY=${PROXY_CREDS}
export https_proxy=${PROXY_CREDS}
export http_proxy=${PROXY_CREDS}
export HTTP_PROXY=${PROXY_CREDS}
export HTTPS_PROXY=${PROXY_CREDS}
}
Upvotes: 1
Reputation: 447
As others mention above you should set both the proxy and https-proxy configuration variables. as below:
https-proxy=http://userName:password@urlOfYourProxy:8080/
What no mentions is that the https-proxy variable should point to a proxy url that uses the http protocol NOT the https protocol (as shown above)!! Pretty darned counter intuitive.
Upvotes: 1
Reputation: 11
The character dot . , dont work on http request but . remplace it
Upvotes: 0
Reputation: 3002
if you use windows and cntlm and you get a 407 error from cntlm proxy server, make sure that your PassNTLMv2 in the cntlm.ini is up-to-date, as you have to recreate it, everytime that you change domain password.
Upvotes: 1
Reputation: 950
We should add proxy with username and password to avoid this error. For example:
npm config set proxy http://admin:[email protected]:3128
npm config set https-proxy http://admin:[email protected]:3128
Upvotes: 16
Reputation: 91
Editing the .npmrc file in user folder worked for me. I set the proxy and npm registry as follows:
proxy=http://username:password@proxy:port/
https-proxy=http://username:password@proxy:port
registry=http://registry.npmjs.org/
Note : for usenames and passwords containing special charcters, the characters need to be encoded in the proxy configuration. e.g if username is "user" and password is "1234@user", then the .npmrc file will look like :
proxy=http://user:1234%40user@proxy:port/
https-proxy=http://user:1234@user@proxy:port
registry=http://registry.npmjs.org/
where, %40 is the encoded form of "@". In my case, the pound symbol(#) was not getting accepted in username or password(Dont know why).
Upvotes: 9
Reputation: 1229
I recommend reading through this article to configure the proxy for npm. http://wil.boayue.com/blog/2013/06/14/using-npm-behind-a-proxy/
npm config set proxy http://proxy.company.com:proxyport
npm config set http-proxy http://proxy.company.com:proxyport
npm config set https-proxy http://proxy.company.com:proxyport
Hope this is useful for you!
Upvotes: 19
Reputation: 166
Usually, when you are behind a corporate proxy, it is needed to add the domain where you are at. Given that also the characters should be URL encoded, it would look like:
https://domain%5Cusername:password@proxy:port
Upvotes: 15