我面临的问题是我永远不知道哪个版本的npm,Ionic等等,我应该安装。
例如:
- "哦,这里有一个新的Ionic CLI版本。让我们安装它"
- 安装CLI v3.9.0
- "哦,我的项目再也没有用了。 Mhhh也允许更新框架"
- 安装ionic-angular 3.6.0
- "哦,为了让CLI工作,我需要一个高于5"
的npm版本- 安装新的npm版本
在所有更新之后不再有效,因为这个版本的bla bla bla 无法使用版本的bla bla bla。我们都知道这场斗争。
但是,在所有论坛中总有一些人似乎确切地知道你必须从任何框架安装哪个版本才能让你的项目工作。
还有很多编程教程。但首先,我们需要了解结构以及所有框架和客户等是如何相关和合作的。
我和其他人肯定想知道如何知道我不应该安装新更新,因为它与其他框架不兼容。但是如果没有我们初学者的知识,我们会立即反复安装更新,而不知道是否更好等待。
这是另一个例子:
你安装npm 5+而不知道Ionic 3.6需要低于5的npm 工作完美。现在您要为您的项目安装插件 在示例中获得GYP错误。好,不知道你的npm 版本只会导致错误初学者会浪费这么多时间 用于搜索如何重新获得GYP错误。逻辑。因为怎么样 如果他知道他必须等待更新版的Ionic之前 他安装了npm 5 +
所以,请帮助我和许多其他人,并解释和了解我们在何处以及如何获得我们需要知道的信息,所以最后我们的初学者也是知道如何做的大师"版本化&# 34。
答案 0 :(得分:0)
查找工作配置的一种方法是查看项目是否使用某种形式的持续集成。在这种情况下,应该定义构建和测试环境。
查看离子和离子cli存储库,它们似乎使用当前节点7和节点6.1.0:
https://github.com/ionic-team/ionic/blob/master/circle.yml
https://github.com/ionic-team/ionic-cli/blob/master/circle.yml
答案 1 :(得分:0)
首先,您可能需要查看semantic versioning。对我来说,它是开发中最重要的概念之一。这意味着版本控制必须以允许其他人预测升级时会发生什么的方式完成。 版本控制应该像这样:
<强>主要即可。的次要即可。的补丁强>
因此,您知道新的库版本是否与您当前的实现兼容。
然后,您还必须始终在更新库之前查看更改日志,尤其是像Ionic这样的大型库。你可以找到Ionic的一个here。它通常会告知您重大更改(如果是主要版本),不兼容性以及要迁移的步骤。此外,Ionic(可能还有其他库)通常会提供package.json
依赖项列表,例如here。根据我的经验,此列表很重要,因为更新版本的依赖项可能与新库版本不兼容。
如果未提供,则启动器应用程序也很有用。它们经常与“父”库/框架一起更新,它们的依赖关系通常是最新的。例如,请参阅此Ionic App Base package.json
。
Ionic使用GitHub,但根据框架或库,您可以直接在他们的网站或其他地方找到此更改日志。
最后,您可能仍然存在不兼容性。那么你唯一的选择是调试。当您找到崩溃的库时,您可以查看已打开的问题/论坛,看看是否存在任何已知的不兼容性。
总结一下,我会说更新总是需要一些工作,至少在更新之前进行调查,如果它可能会导致任何问题。