我在为 Phonegap 安装 android 平台时遇到错误?
I am getting an error while installing android platform for Phonegap?
在 phonegap 中为 android 平台安装时出现错误,还设置了 npm config set proxy http://proxydomain:port/ and npm config set registry http://registry.npmjs.org/。检查环境变量中的 android 路径源。请让我如何解决它。谢谢。
C:\cordovaTest>cordova platforms add android
npm http GET https://registry.npmjs.org/cordova-android/3.7.1
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:\Program Files\nodejs\node_modules\cordova
\node_modules\cordova-lib\node_modules\npm\node_modules\request\node_modules\tun
nel-agent\index.js:117:25)
at TunnelingAgent.createSecureSocket [as createSocket] (C:\Program Files\nod
ejs\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:\Program Files\nodejs\node_modules\cordova\n
ode_modules\cordova-lib\node_modules\npm\node_modules\request\node_modules\tunne
l-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:\Program Files\nodejs\node_modules\cordova\node_modules\
cordova-lib\node_modules\npm\node_modules\request\index.js:594:30)
at Request.end (C:\Program Files\nodejs\node_modules\cordova\node_modules\co
rdova-lib\node_modules\npm\node_modules\request\index.js:1186:28)
好的,我终于找到了解决方案:将 nodejs 降级到 0.10.29 版本
现在 运行!
它对我们有用:0.10.38
而不是最新版本 v0.12.2
直接link这里:
node.js 的隧道代理模块中似乎存在错误,在构建路径时它期望在接收到 JS 对象时使用字符串。
的确,降级到节点 0.10 可以解决这个问题。或者,您可以执行以下操作:
- 下载最新版本的隧道代理here
- 并将其放入已安装的 cordova-lib 的 npm 文件夹中:
.\npm\node_modules\cordova\node_modules\cordova-lib\node_modules\npm\node_modules\request\node_modules\tunnel-agent
在 phonegap 中为 android 平台安装时出现错误,还设置了 npm config set proxy http://proxydomain:port/ and npm config set registry http://registry.npmjs.org/。检查环境变量中的 android 路径源。请让我如何解决它。谢谢。
C:\cordovaTest>cordova platforms add android
npm http GET https://registry.npmjs.org/cordova-android/3.7.1 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:\Program Files\nodejs\node_modules\cordova \node_modules\cordova-lib\node_modules\npm\node_modules\request\node_modules\tun nel-agent\index.js:117:25) at TunnelingAgent.createSecureSocket [as createSocket] (C:\Program Files\nod ejs\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:\Program Files\nodejs\node_modules\cordova\n ode_modules\cordova-lib\node_modules\npm\node_modules\request\node_modules\tunne l-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:\Program Files\nodejs\node_modules\cordova\node_modules\ cordova-lib\node_modules\npm\node_modules\request\index.js:594:30) at Request.end (C:\Program Files\nodejs\node_modules\cordova\node_modules\co rdova-lib\node_modules\npm\node_modules\request\index.js:1186:28)
好的,我终于找到了解决方案:将 nodejs 降级到 0.10.29 版本
现在 运行!
它对我们有用:0.10.38
而不是最新版本 v0.12.2
直接link这里:
node.js 的隧道代理模块中似乎存在错误,在构建路径时它期望在接收到 JS 对象时使用字符串。
的确,降级到节点 0.10 可以解决这个问题。或者,您可以执行以下操作:
- 下载最新版本的隧道代理here
- 并将其放入已安装的 cordova-lib 的 npm 文件夹中:
.\npm\node_modules\cordova\node_modules\cordova-lib\node_modules\npm\node_modules\request\node_modules\tunnel-agent