Cordova 低版本的 Ionic 错误 - 请将 Cordova CLI 安装到版本 >=4.2.0

Ionic error of Cordova lower version - Please install your Cordova CLI to version >=4.2.0

已成功安装 Ionic。当 运行 ionic info 和 ionic browser --list 等其他命令时,我收到一条错误消息,提示 cordova 低于版本 4。

Cordova 安装时没有 sudo,并且位于全局主目录中。

> ionic info

Your system information:

Cordova CLI: 6.1.0 (cordova-lib@undefined)
Gulp version:  CLI version 3.9.1
Gulp local:   Local version 3.9.1
Ionic Version: 1.2.4
Ionic CLI Version: 1.7.14
Ionic App Lib Version: 0.7.0
OS: Distributor ID:     Ubuntu Description:     Ubuntu 15.10 
Node Version: v5.9.1


******************************************************
 Dependency warning - for the CLI to run correctly,      
 it is highly suggested to install/upgrade the following:     

 Please install your Cordova CLI to version  >=4.2.0 `npm install -g cordova`

******************************************************

Cordova 安装位置:

> which cordova
  /home/user_1/.npm-global/bin/cordova

Ionic 安装位置:

> which ionic
/home/user_1/.npm-global/bin/ionic

我尝试了很多不同的方法来解决这个问题,比如重新安装有和没有 --unsafe-perm=true --allow-root 标志(这是其他人建议在其他 questions/other 在线位置修复它的方法)但是这似乎是 6.1.0 版本的 cordova 和 ionic 的问题,所以现在 运行

使用 6.0.0
npm install -g cordova@6.0.0

这应该可以解决问题,因为 6.1.0 似乎不是稳定版本。

我也在用 cordova@6.2 和 ionic@1.7。收到此错误消息后,我打开一个新终端并输入 cordova -v 输出:

? May Cordova anonymously report usage statistics to improve the tool over time?

我一输入答案 (No),版本号就打印出来,然后我在我的项目终端中重新 运行 ionic info错误消失了。

注意事项

  • 我刚刚从 1.7.15 更新了 ionic@1.7.16。这是一个非常小的补丁,修复了一组与此无关的错误。
  • 我遇到这个问题的特定系统是 运行 Windows 10.
  • 我第一次运行 ionic info在我的项目目录下,两次都出现同样的错误。

原始错误输出:

******************************************************
 Dependency warning - for the CLI to run correctly,
 it is highly recommended to install/upgrade the following:

 Please install your Cordova CLI to version  >=4.2.0 `npm install -g cordova`

******************************************************

Your system information:

You have been opted out of telemetry. To change this, run: cordova telemetry on.
6.2.0

Gulp version:  CLI version 3.9.1
Gulp local:   Local version 3.9.1
Ionic CLI Version: 1.7.16
Ionic App Lib Version: 0.7.3
OS:
Node Version: v4.4.2


******************************************************
 Dependency warning - for the CLI to run correctly,
 it is highly recommended to install/upgrade the following:

 Please install your Cordova CLI to version  >=4.2.0 `npm install -g cordova`

******************************************************

我在 Windows 10 上得到的结果与 Wayne Bloss 完全相同。第一次尝试时出现错误“> = 4.2.0”,在检查版本 "cordova -v" 后,错误是走了(我对统计问题的回答是肯定的)。

如 Wayne Bloss 所述,当回答由命令 cordova -v 触发的问题时,此警告会消失。这也适用于我使用 Cordova 6.3.1 的配置。

这是可行的,因为这样做的最初原因是 Cordova CLI 的版本信息字符串不仅包含版本号,还包含这条信息 "You have been opted out of telemetry. To change this, run: cordova telemetry on.",它使用 semver return总是假的。使用 "no" 回答遥测问题从版本中删除了字符串,从而使警告消息消失。

cordova telemetry off

使 运行

时的错误消失
ionic info

我选择退出 Telemetry,它在开发过程中收集数据用于分析。您也可以改用 "on" 关键字选择加入。

向韦恩·布洛斯 (Wayne Bloss) 致敬,感谢他指导我找到了这个答案。

我刚 运行 进入这个页面,所以我找到了这个页面,但似乎没有合适的答案,所以这里是一个。

安装 cordova-cli deb 包需要:

  • 将 Ubuntu Cordova Personal Package Archive 添加到您的 Ubuntu 系统
  • 安装 cordova-cli 包(及其依赖项)

因此,对于 ubuntu

sudo apt-add-repository ppa:cordova-ubuntu/ppa
sudo apt-get update
sudo apt-get install cordova-cli

这里有更多信息 https://cordova.apache.org/docs/en/latest/guide/platforms/ubuntu/index.html

D:\>ionic start myapp blank
******************************************************
 Dependency warning - for the CLI to run correctly,
 it is highly recommended to install/upgrade the following:

 Please install your Cordova CLI to version  >=4.2.0 `npm install -g cordova`

******************************************************
Creating an Ionic app in D:\myapp based on the blank template.

Downloading: https://github.com/driftyco/ionic-app-base/archive/master.zip
Downloading: https://github.com/driftyco/ionic-starter-      blank/archive/master.zip
Installing npm packages (may take a minute or two)...
/
? ♫ ? ♫  Your Ionic app is ready to go! ? ♫ ? ♫

Ionic 应用程序启动时没有任何 Cordova 更新问题。 但是,您可以使用以下代码进行更新:

npm update -g cordova

一样,一个可能的原因是来自 cordova 遥测的噪音。

该问题在 cordova 6.5.0 和 ionic 2.2.2 中仍然存在。

作为附加信息,我想补充一点,以下必须是 运行 当前用户,例如如果你有一个 CI 系统以 root 身份安装 cordova,然后 运行s ionic 作为非特权用户,你将必须 运行

cordova telemetry off

再一次。

警告中写得很好,您需要使用 npm install -g cordovanpm 中安装 cordova

npm install -g cordova@4.2.0

问题已解决!