我应该如何让我的 Ionic / Apache Cordova / Visual Studio 环境保持最新?

Posted

技术标签:

【中文标题】我应该如何让我的 Ionic / Apache Cordova / Visual Studio 环境保持最新?【英文标题】:How should I keep my Ionic / Apache Cordova / Visual Studio environment up to date? 【发布时间】:2015-10-02 09:49:07 【问题描述】:

我对使用 Ionic / Apache Cordova / Visual Studio 开发应用程序的可用工具感到困惑。我开始使用 Ionic 命令行,然后当我听说他们引入了 tools for Apache Cordova 时迁移到 Visual Studio 2015。但是现在我打了problem afterproblem with the Ripple emulator in Visual Studio。

所以我尝试返回 Ionic 命令行进行模拟,但是当我输入 ionic emulate android 时出现此错误:

cmd: Command failed with exit code 2
    at ChildProcess.whenDone (C:\..\npm\node_modules\cordova\node_modules\cordova-lib\src\cordova\superspawn.js:135:23)
    at ChildProcess.emit (events.js:98:17)
    at maybeClose (child_process.js:756:16)
    at Process.ChildProcess._handle.onexit (child_process.js:823:5)

我还收到一条消息,说我的本地 Ionic 版本已过时。我想知道更新是否可以解决错误,但我担心如果我通过命令行更新 Ionic,我会破坏 Visual Studio Tools For Apache Cordova 中的一些依赖关系。

我已经阅读了where the Ionic framework fits in,并且 PhoneGap is a distribution of Apache Cordova,但我仍然对如何保持最新和兼容感到困惑。

今天宣布command line "Tools For Apache Cordova" - “由我们的 Visual Studio 产品团队验证”使我更加困惑。这与我在 Visual Studio 扩展和更新中已有的 recently updated "Tools for Apache Cordova" 有什么关系?

所以:

    我可以通过命令行ionic lib update 安全地更新 Ionic 并且仍然希望 Visual Studio 的工具能够正常工作吗? 我尝试ionic emulate android 时出现错误的原因是什么? 谁能解释一下这些工具是如何组合在一起的,以及如何使它们保持最新状态?

编辑 - 添加更多信息 我认为如果我了解如何使用最新版本的 Ionic 和 Cordova,就好像我没有开始使用 Ionic 命令行并且只使用 Visual Studio 一样,我的困惑就会减少。

标准项目模板将链接放入<script src="http://code.ionicframework.com/1.0.0-rc.5/js/ionic.bundle.min.js"><link href="http://code.ionicframework.com/1.0.0-rc.5/css/ionic.css" rel="stylesheet">,所以我可以假设捆绑包包含所有依赖项,并且 VS2015 在构建应用程序时会下载它,我所要做的就是将1.0.0-rc.5 更改为1.1.0

科尔多瓦呢?我的taco.json 文件指定它是版本4.3.0。当需要更新 Cordova 并且 VS2015 将处理其余部分时,我是否只需更改此设置?

【问题讨论】:

【参考方案1】:

    您可以安全地更新 Ionic 命令行,它不会干扰 VS 工具。

    对此不确定,但更新可能会修复它(甚至只是卸载/重新安装 Ionic)。

    VS Cordova 工具非常频繁地发布更新;你应该尽可能更新。更新不应影响 Ionic,更新 Ionic 也不应影响 VS 工具。

一般来说,VS 团队已经注意确保所需的 npm 包是本地的,这样它们就不会受到更改/删除其他包(例如 Ionic)的影响。其他先决条件(NodeJS、Android SDK 等)是系统范围的,但它们不会受到 Ionic 升级的影响。

关于命令行工具的博客文章:TACO-CLI 是一组单独的工具,专为喜欢使用 CLI 而不是 VS 的开发人员设计。它本质上是一个 Cordova 包装器(与 Ionic 类似),其中基本的 Cordova 功能增加了新的命令,以多种方式简化了开发。 http://taco.tools 有更多信息。

TACO-CLI 可以与 VS 工具一起使用,如果这样可以简化您的工作流程。两者都不会干扰对方。

编辑:针对您的新问题:

    只需更新标准 Ionic 模板中的链接就可以了。即使你不更新 CLI,真正让事情顺利进行的 js/css 也应该足够了。

    是的,如果您更新 taco.json 中的“cordova-cli”属性,VS 工具将自动安装并在本地使用适当的版本。这不会影响全局安装的版本(如果存在),因此不会影响可能依赖它的其他命令行工具。请注意,您可以通过打开 config.xml 文件并在“平台”选项卡中编辑它来从 VS UI 更改版本。

资料来源:我在 VS Cordova 工具团队工作。

【讨论】:

让我困惑的一件事是我没有意识到ionic lib 告诉我我的lib/ionic 文件夹(当前为1.1.0)和@ 中的本地javascript 库的版本987654324@ 告诉我 CLI 的版本(我使用 npm 更新后现在是 1.7.7),这两件事完全不同。

以上是关于我应该如何让我的 Ionic / Apache Cordova / Visual Studio 环境保持最新?的主要内容,如果未能解决你的问题,请参考以下文章

如何让我的 Ionic Button 刷新所有离子视图。 (最好只重新评估一个 ng-switch)

如何在 ionic 3 中创建下拉组件

如何将数据传递给 Modal ionic 2

如何在 iphone 的共享菜单中列出我的 ionic 应用程序?

Angular Ionic CSS 未应用

Cordova + Ionic 框架 - 如何安全地更改包名称?