TypeError:请求path包含非转义字符

我尝试使用以下命令来安装node.js模块:

npm install express 

但我得到这个错误:

 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! <npm-@googlegroups.com> 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 

可能会发生我使用代理我设置了这种方式,以允许从我的networking外部ips下载

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

我希望你可以帮助我

从命令行设置代理。

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

如果出现错误,请再次尝试。

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

这些为我工作。 (ref http://sushichop.blogspot.jp/2013/01/npm-install.html

虽然已经够晚了,但是在Linux上更新nodejs(4.1.1)和npm(1.4.x之类的东西)之后,我也碰到了这个问题。

我已经尝试了build议的解决scheme,但更改registry项并没有帮助所有情况下。 最后,决定重新安装npm,我发现这个更新源[npm github] [1]

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

其中更新我的NPM到3.3.8和所有相关的软件包安装麻烦已被吹走。