【问题标题】:TypeError: Request path contains unescaped charactersTypeError:请求路径包含未转义字符
【发布时间】:2013-08-03 02:12:01
【问题描述】:

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

希望你能帮到我

【问题讨论】:

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


    【解决方案1】:

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

    我已经尝试了建议的解决方案,但更改注册表项在所有情况下都没有帮助。 最后,决定重新安装 npm,我找到了这个更新源 [on npm github][1]

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

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

    【讨论】:

      【解决方案2】:

      从命令行设置代理。

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

      如果还出现错误,请继续尝试。

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

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

      【讨论】:

      • 两条线路都为我工作。谢谢!知道为什么我的机器范围的 Ubuntu 代理设置对此不起作用吗?
      • 有时连接不允许代理连接到远程资源 npm 安装程序
      猜你喜欢
      • 2019-05-30
      • 2018-07-05
      • 1970-01-01
      • 2021-04-21
      • 1970-01-01
      • 2015-09-10
      • 1970-01-01
      • 1970-01-01
      • 2017-10-16
      相关资源
      最近更新 更多