2015-05-05 39 views
2

我正在嘗試使用Apache Cordova作爲Android應用程序。 我曾與npm安裝了它,但是當我鍵入命令cordova platforms add android,我有這樣的錯誤:類型錯誤:請求路徑包含非轉義字符 - npm&cordova

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中刪除代理,但是錯誤仍然存​​在。

我該如何解決這個問題?

+1

我定了!這是節點版本的問題......對於所有遇到同樣問題的人,請嘗試降級到v 0.10.29! –

+0

然後請編輯您的問題,使您所使用的節點版本出現,然後發佈答案,說明您如何解決您的問題。您可以在幾天內接受您的答案。 –

+0

改進的格式 – ptierno

回答

0

我不知道你是否修好了。 但是前幾天我有同樣的問題。 只需卸載並重新安裝節點,我實際上已使用node -v版本v0.12.2。

0

我已升級到nodejs 0.12.3並開始出現此問題。然後,我研究並發現了一個修補程序,用於替換tunnel-agent文件夾中的某些文件。此修復程序工作,但然後我開始重新安裝Visual Studio 2013後再次有相同的問題。 我刪除了節點0.12.3,然後安裝0.10.29,現在它再次工作。每當我嘗試安裝Windows平臺時,都會收到上述錯誤。所以現在我使用Node JS 0.10.29運行最新的Cordova版本。我想知道我是否能夠使用更新版本的節點,或者我應該甚至打擾。

0

從@ geisi93在ionic-cli github

for those who still have problems - propably you have to replace the contents of

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

with the contents of with the content of this zip:

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

too.

相關問題