Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

TypeError: Request path contains unescaped characters

I try to install node.js modules using:

npm install express 

but I get this error:

npm http GET https://registry.npmjs.org/express npm ERR! TypeError: Request path contains unescaped characters. npm ERR!     at Agent.request (_http_agent.js:264:11) npm ERR!     at TunnelingAgent.exports.request (http.js:52:22) npm ERR!     at TunnelingAgent.createSocket (/usr/local/lib/node_modules/npm/node_modules/request/node_modules/tunnel-agent/index.js:117:25) npm ERR!     at TunnelingAgent.createSecureSocket [as createSocket] (/usr/local/lib/node_modules/npm/node_modules/request/node_modules/tunnel-agent/index.js:184:41) npm ERR!     at TunnelingAgent.addRequest (/usr/local/lib/node_modules/npm/node_modules/request/node_modules/tunnel-agent/index.js:80:8) npm ERR!     at new ClientRequest (_http_client.js:112:16) npm ERR!     at Agent.request (_http_agent.js:279:10) npm ERR!     at Object.exports.request (https.js:130:22) npm ERR!     at Request.start (/usr/local/lib/node_modules/npm/node_modules/request/index.js:594:30) npm ERR!     at Request.end (/usr/local/lib/node_modules/npm/node_modules/request/index.js:1186:28) npm ERR! If you need help, you may report this log at: npm ERR!     <http://github.com/isaacs/npm/issues> npm ERR! or email it to: npm ERR!     <[email protected]>  npm ERR! System Linux 3.6.11-7.fc16.x86_64 npm ERR! command "/usr/local/bin/node" "/usr/local/bin/npm" "install" "express" npm ERR! cwd /usr/local/src/node npm ERR! node -v v0.11.5-pre npm ERR! npm -v 1.3.5 npm ERR!  npm ERR! Additional logging details can be found in: npm ERR!     /usr/local/src/node/npm-debug.log npm ERR! not ok code 0 

May be happening I use a proxy I set it up this way to allow downloads from ips outside my network

export https_proxy='http://172.21.0.12:3128' 

I hope you can help me

like image 513
Walter Caraza Avatar asked Aug 01 '13 23:08

Walter Caraza


2 Answers

Set proxy from commandline.

npm config set proxy http://proxydomain:port/ 

If error occur yet, additional try next.

npm config set registry http://registry.npmjs.org/ 

These work for me. (ref http://sushichop.blogspot.jp/2013/01/npm-install.html)

like image 165
smokycat Avatar answered Sep 21 '22 04:09

smokycat


Though late enough, I've bumped into this too after updating nodejs (to 4.1.1) and npm (to something like 1.4.x) on Linux.

I've tried the suggested solution, but changing the registry entry did not help in all cases. Lastly, having decided to reinstall npm, I found this update source [on npm github][1]

curl -L https://www.npmjs.org/install.sh | sh 

which updated my npm to 3.3.8 and all related package installation troubles have been blown away.

like image 32
bo. Avatar answered Sep 18 '22 04:09

bo.