【问题标题】:Type error:Request path contains unescaped characters - npm & cordova类型错误:请求路径包含非转义字符 - npm & cordova
【发布时间】:2015-05-05 20:27:18
【问题描述】:

我正在尝试将Apache Cordova 用于Android 应用程序。 我已经用npm安装了它,但是当我输入命令cordova platforms add android时,我有这个错误:

npm http GET https://registry.npmjs.org/cordova-android/4.0.0  
TypeError: Request path contains unescaped characters.  
    at new ClientRequest (_http_client.js:73:11)  
    at TunnelingAgent.exports.request (http.js:49:10)  
    at TunnelingAgent.createSocket (C:\Users\Friend\AppData\Roaming\npm\node_modules\cordova\node_modules\cordova-lib\node_modules\npm\node_modules\request\node_modules\tunnel-agent\index.js:117:25)  
    at TunnelingAgent.createSecureSocket [as createSocket] (C:\Users\Friend\AppData\Roaming\npm\node_modules\cordova\node_modules\cordova-lib\node_modules\npm\node_modules\request\node_modules\tunnel-agent\index.js:184:41)  
    at TunnelingAgent.addRequest (C:\Users\Friend\AppData\Roaming\npm\node_modules\cordova\node_modules\cordova-lib\node_modules\npm\node_modules\request\node_modules\tunnel-agent\index.js:80:8)  
    at new ClientRequest (_http_client.js:154:16)  
    at Object.exports.request (http.js:49:10)  
    at Object.exports.request (https.js:136:15)  
    at Request.start (C:\Users\Friend\AppData\Roaming\npm\node_modules\cordova\node_modules\cordova-lib\node_modules\npm\node_modules\request\index.js:594:30)  
    at Request.end (C:\Users\Friend\AppData\Roaming\npm\node_modules\cordova\node_modules\cordova-lib\node_modules\npm\node_modules\request\index.js:1186:28)

我以为它来自代理,所以我将http-proxyhttps-proxy 设置为这样:

npm config set proxy h t t p://proxydomain:port/

我这样设置注册表:

npm config set registry h t t p://registry.npmjs.org/

错误保持不变。我试图从我的网络和npm 中删除代理,但错误仍然存​​在。

我该如何解决这个问题?

【问题讨论】:

  • 我修好了!这是节点版本的问题...对于所有遇到相同问题的人,请尝试降级到 v 0.10.29!
  • 然后请编辑您的问题以显示您正在使用的 Node 版本,然后发布一个答案,说明您是如何解决问题的。您可以在几天后接受您的答复。

标签: android node.js cordova proxy


【解决方案1】:

我不知道你是否修复了它。 但是几天前我遇到了同样的问题。 只需卸载并重新安装节点,我实际上有node -v v0.12.2 版本。

【讨论】:

    【解决方案2】:

    我已经升级到 nodejs 0.12.3 并开始遇到这个问题。然后我研究并找到了一个修复,我替换了隧道代理文件夹中的某些文件。此修复有效,但在重新安装 Visual Studio 2013 后我又开始遇到同样的问题。 我删除了节点 0.12.3,然后安装了 0.10.29,现在它又可以工作了。每当我尝试安装 Windows 平台时,都会出现上述错误。所以现在我正在使用 Node JS 0.10.29 运行最新的 Cordova 版本。我想知道我是否能够使用更新版本的节点,或者我什至应该打扰。

    【讨论】:

      【解决方案3】:

      来自@geisi93 ionic-cli github

      对于那些仍然有问题的人 - 可能你必须更换 内容

      C:\Users{USERNAME}\AppData\Roaming\npm\node_modules\cordova\node_modules\cordova-lib\node_modules\request\node_modules\tunnel-agent

      with the content of with the content of this zip:

      https://github.com/mikeal/tunnel-agent

      也是。

      【讨论】:

        猜你喜欢
        • 2019-05-30
        • 1970-01-01
        • 2018-07-05
        • 1970-01-01
        • 2013-08-03
        • 2021-04-21
        • 1970-01-01
        • 2023-02-01
        • 2023-03-04
        相关资源
        最近更新 更多