TypeError: Request path contains unescaped characters

24,483

Solution 1

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)

Solution 2

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.

Share:
24,483
Walter Caraza
Author by

Walter Caraza

follow me on twitter

Updated on October 20, 2020

Comments

  • Walter Caraza
    Walter Caraza over 3 years

    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