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