GitHub Actions - 为什么需要使用不同的Node版本进行构建?

4

我刚接触GitHub Actions(以及CI)时非常新手。我正在阅读使用Node.js与GitHub Actions,我在那里找到了来自Node.js工作流模板的代码块:

    strategy:
      matrix:
        node-version: [8.x, 10.x, 12.x]

提到了这样一个事实:

该模板包括一个矩阵策略,使用三个 Node.js 版本(8.x、10.x 和 12.x)构建和测试您的代码。'x' 是一个通配符,匹配版本可用的最新次要和修补发布版。在 node-version 数组中指定的每个 Node.js 版本都创建一个运行相同步骤的作业。

我的问题是——为什么要使用不同的 Node 版本进行构建和测试呢?为什么不能只使用一个版本?

谢谢!


2
标题与实际问题有什么关系?问题似乎不太清楚,请编辑并添加更多细节。 - Daemon Beast
没注意到,谢谢。 - Mubaraq Wahab
很棒的问题。 - rednoyz
2个回答

5

Node.js的81012版本是常用版本。由于911是奇数版本,因此被认为是实验性的,不会获得LTS(长期支持)。另一方面,版本81012是稳定的。

Firebase云函数需要使用Node.js版本810,这表明版本810仍然广泛使用。

Node.js14几个月前发布了,但我怀疑人们在大多数错误得到修正之前不会立即转移,因此没有必要完全测试它,但如果您愿意,可以进行测试。


如您所见,Node.js的81012版本是最广泛使用的版本,因此,确保您的JavaScript代码能够与这三个版本配合工作,以确保有很多人可以使用您的代码,这是一个好主意。

如果您想确保完全兼容性,可以测试更多版本的Node.js,但我怀疑您不需要这样做,因为Node.js通常具有向后兼容性。

如果您想查看当前受支持的Node.js版本,请访问Node.js发布页面。


1
这涉及到“如何使用不同版本的Node进行构建和测试”的重要问题。例如,我有一些依赖包需要使用较早版本的Node才能构建(antlr4就是一个例子),但我仍然需要在旧版本上测试分发的代码。目前似乎无法实现这一点(例如,使用Node 14.x进行构建,并使用Node 12.x测试构建的代码)。
(尽管这不是发帖者关心的问题)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接