[英]npm/Frameworks/ How to know which Version should I use?
我面临的问题是我永远不知道 应该安装哪个版本的npm,Ionic等。
例如:
- “哦,这里是新的Ionic CLI版本。让我们安装它”
- 安装CLI v3.9.0
- “哦,我的项目中什么也没有了。Mhhh也让我们更新了框架”
- 安装离子角3.6.0
- “哦,要使CLI工作,我需要一个5以上的npm版本”
- 安装新的npm版本
毕竟,所有更新都不再起作用 ,因为此版本的bla bla bla 无法与该版本的bla bla bla一起使用。 我们都知道斗争。
但是,在所有论坛中,总是有一群人似乎确切知道您必须从任何框架中安装哪个版本才能使项目正常工作。
那里也有许多编程教程。 但是首先,我们需要学习结构以及所有框架和客户端等如何关联和协作。
我和其他人当然想知道如何例如知道我不应该安装新更新,因为它与其他框架不兼容。 但是,如果我们初学者没有这些知识,我们将一次又一次地安装更新,而不会知道是否最好等待。
这是另一个示例:
您安装npm 5+却不知道Ionic 3.6需要5以下的npm才能正常工作。 现在,您想为您的项目安装一个插件,并在示例中得到一个GYP错误。 好吧,在不知道您的npm版本仅导致错误的情况下,初学者会浪费大量时间来搜索如何重新解决GYP错误。 逻辑。 因为他应该如何知道在安装npm 5+之前必须等待更新版本的Ionic。
因此,请帮助我和许多其他人,并解释和告知我们从何处以及如何获得我们需要知道的信息,因此最终,我们的初学者也是专家,他们确切地知道如何进行“版本控制”。
查找有效配置的一种方法是查看项目是否使用某种形式的持续集成。 在这种情况下,应该定义一个构建和测试环境。
查看离子库和离子库,它们似乎使用了当前节点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
首先,您可能需要看一下语义版本控制 。 对我来说,这是开发中最重要的概念之一。 这意味着必须以一种允许他人预测升级时会发生什么的方式来完成版本控制。 版本控制应这样进行:
专业 。 小的 。 补丁
因此,您知道新的库版本是否与您当前的实现兼容。
然后,您还必须在更新库之前,尤其是像Ionic这样的大库之前, 始终查看更改日志。 例如,您可以在这里找到Ionic的。 它通常会通知您有关重大更改(如果是主要版本),不兼容和要进行迁移的步骤。 另外,Ionic(可能还有其他库)通常会提供package.json
依赖项列表,例如here 。 根据我的经验,此列表很重要,因为较新版本的依赖项可能与新库版本不兼容。 如果未提供此选项,则启动程序应用程序也可能有用。 它们经常与“父”库/框架及其依赖关系一起经常更新。 例如,请参阅此Ionic App Base package.json
。
Ionic使用GitHub,但根据框架或库,您可能会直接在其网站或其他地方找到此更改日志。
最后,您可能仍然不兼容。 然后,您唯一的选择是调试。 当您找到崩溃的库时,您可以查看打开的问题/论坛,并查看是否存在任何已知的不兼容性。
综上所述,我要说的是更新总是需要做一些工作,至少在更新之前会进行调查,否则可能会引起任何问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.