Phonegap Build CLI 失败 - 机器之间的节点代理不同?
Posted
技术标签:
【中文标题】Phonegap Build CLI 失败 - 机器之间的节点代理不同?【英文标题】:Phonegap Build CLI failing - Node proxy different between machines? 【发布时间】:2016-07-25 09:22:47 【问题描述】:我们在两台不同的机器上使用 PhoneGap Build CLI,我们可以看出节点环境没有区别。在其中一台机器上,它可以正常工作。另一方面,我们收到以下消息:
[phonegap] compressing the app...
[phonegap] uploading the app...
_http_client.js:53
throw new TypeError('Request path contains unescaped characters');
^
TypeError: Request path contains unescaped characters
at new ClientRequest (_http_client.js:53:11)
at Object.exports.request (http.js:31:10)
at TunnelingAgent.exports.request (https.js:199:15)
at TunnelingAgent.createSocket (/usr/local/lib/node_modules/phonegap/node_modules/phonegap-build-api/node_modules/request/tunnel.js:116:25)
at TunnelingAgent.createSecureSocket [as createSocket] (/usr/local/lib/node_modules/phonegap/node_modules/phonegap-build-api/node_modules/request/tunnel.js:188:41)
at TunnelingAgent.addRequest (/usr/local/lib/node_modules/phonegap/node_modules/phonegap-build-api/node_modules/request/tunnel.js:80:8)
at new ClientRequest (_http_client.js:158:16)
at Object.exports.request (http.js:31:10)
at Object.exports.request (https.js:199:15)
at Request.start (/usr/local/lib/node_modules/phonegap/node_modules/phonegap-build-api/node_modules/request/main.js:516:30)
嗅探发送到 _http_client.js 的请求后,成功的请求设置了proxy: undefined
,失败的请求设置了proxy: true
。
我们没有故意设置或修改与代理设置有关的任何内容。我们也尝试过重新安装节点。
我们正在使用节点 6.3.0 和 phonegap 6.2.9。
另外值得补充的是,我们在两台机器上运行npm config list
,都没有设置代理。
任何建议表示赞赏!
【问题讨论】:
发布引发异常的代码行。我怀疑您有一些未正确编码的 URL。 【参考方案1】:本身不是一个解决方案,但我们通过将 phonegap 降级到 6.2.9 解决了这个问题。问题立即消失。
【讨论】:
【参考方案2】:查看phonegap的版本:
phonegap -v
如果您拥有 6.3.0 版本,则必须这样做:
Downgrade phonegap: npm install -g phonegap@6.2.9
Check version: phonegap -v (6.2.9)
【讨论】:
以上是关于Phonegap Build CLI 失败 - 机器之间的节点代理不同?的主要内容,如果未能解决你的问题,请参考以下文章
cordova - 启动画面和应用程序屏幕在 Phonegap Build cli-6.1.0 上不起作用
Phonegap Build 和 WKWebView:我们这里有一个通信失败
排毒失败并显示“找不到模块 'jest-cli/build/cli/args'”