2014-09-26 49 views
1

我在我的項目(版本3.4.0-0.1.3)中安裝了Cordova,我試圖將其更新到版本3.5.0-0.2.7 我正在運行命令將cordova更新到版本3.5.0

 
sudo npm update -g [email protected] 

它工作正常。 當我運行

 
npm ls -g | grep cordova 

我得到:

 
├─┬ [email protected] 
│ ├─┬ [email protected] 
│ │ ├─┬ [email protected] 
│ │ ├─┬ [email protected] 
│ ├─┬ [email protected] 

但是當我運行

 
cordova -v 

我仍然得到同樣的版本我3.4.0-0.1.3

有過

爲什麼我無法更新我的項目? 必須有我丟失的東西...

我需要更新科爾多瓦建立我的項目,請幫助!

謝謝

+0

你試過'安裝'而不是'更新'? – 2014-09-26 19:56:09

+0

cordova是以root身份安裝的,即使用sudo?另外,'npm ls -g'的輸出是什麼? 'sudo npm ls -g'? – ctlacko 2014-09-26 20:19:34

+0

是的,我也試過安裝。 – 2014-09-26 20:47:44

回答

0

我在Ubuntu 14.04上遇到同樣的問題。當試圖升級到Cordova 3.6.3時。看來,NPM -g安裝模塊

/usr/bin/cordova -> /usr/lib/node_modules/cordova/bin/cordova 

which cordova 

輸出表明這一點:

/usr/local/bin/cordova 

這符號鏈接是指向另一個nnode_modules安裝:

/usr/local/lib/node_modules/cordova/bin/cordova 

我不是Node/npm專家...所以我不確定什麼是正確的路徑以及/usr/local/lib/node_modules中的安裝來自何處。但由於nmp -g安裝到/usr/lib/node_modules ...我刪除了/usr/local/bin/cordova符號鏈接,然後一切正常。

編輯: 當我刪除/usr/local/bin/cordova我得到bash錯誤/usr/local/bin/cordova not exists。解決它創建正確的符號鏈接

sudo ln -s /usr/bin/cordova /usr/local/bin/cordova