TypeError:请求路径包含未转义的字符

时间:2013-08-01 23:12:31

标签: javascript node.js express socket.io npm

我尝试使用以下方法安装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

可能正在发生我使用代理我这样设置它允许从网络外的ips下载

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

我希望你能帮助我

2 个答案:

答案 0 :(得分:59)

从命令行设置代理。

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

如果发生错误,请尝试下一步。

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

这些对我有用。 (参考http://sushichop.blogspot.jp/2013/01/npm-install.html

答案 1 :(得分:2)

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

我已经尝试了建议的解决方案,但更改注册表项在所有情况下都无济于事。 最后,在决定重新安装npm后,我发现了这个更新源[在npm github上] [1]

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

将我的npm更新为3.3.8并且所有相关的软件包安装问题都被吹走了。