长期支持(LTS)和Node.js的稳定版本之间有什么区别?

And*_*gan 63 javascript v8 version lts node.js

最初问:Node.js 4.x分支与LTS(长期支持)和5.x分支(列为稳定)有什么区别?

但这与理解6.x和7.x以及将来8.x和9.x之间的差异同样重要

一般来说,我总是倾向于最新版本的功能和性能(因为我现在做了很多ES6/ES7).是否有关于"稳定"分支的生产准备情况的信息?

Bin*_*les 70

要了解差异,您需要了解为什么存在长期支持(LTS)版本的Node.

Node LTS主要针对企业使用,可能会对频繁更新,广泛的采购程序以及冗长的测试和质量要求产生更大的阻力.

来自Node LTS工作组的成员Rod Vagg:

为Node建立LTS计划的关键是在现有的稳定版本周期之上构建,通过在可预测的时间表上提供具有明确定义的扩展支持生命周期的新版本.虽然这似乎与"早期发布,经常发布"的开源传统不一致,但它是企业应用程序开发和运营团队的基本要求.它还影响公司......为Node.js提供专业支持.

https://medium.com/@nodesource/essential-steps-long-term-support-for-node-js-8ecf7514dbd#.za353bn08

其中一条评论中提到的官方Node帖子也很好地解释了这一点:

https://nodejs.org/en/blog/community/node-v5/

有时会误解奇数版本号(v5,v7)是下一个LTS版本的"beta".这是在其他项目中使用的约定,但在Node中没有使用,并且有些误导.实际上,下一个LTS版本是从当前版本的特定版本中选择的,这通常是一个偶数版本(v6,v8).并不是说最新版本是测试版 - 而是LTS版本满足了某些组织的特定需求.

有关参考资料,请参阅Firefox的扩展支持版本(https://www.mozilla.org/en-US/firefox/organizations/faq/)或Ubuntu的LTS版本(https://wiki.ubuntu.com/LTS) .我认为没有人会建议最新版本的Firefox是测试版,并且大多数用户应该坚持使用较旧的ERS版本.

通常,如果您能够跟上最新的稳定和未来的Node版本,那么您应该这样做.这些是稳定的生产就绪版本,具有出色的社区支持.不稳定和实验性功能保留在构建和运行时标志之后,不应影响您的日常操作.

通常我总是倾向于功能和性能的最新版本(因为我现在分配ES6/ES7)

这对我来说,稳定版本及其他版本将很好地满足您的需求.这将使您能够访问底层JavaScript引擎(V8或Chakra)提供的最新和最强大的语言功能

值得注意的是:v4(和之前的)和v5之间的显着差异是v4附带npm v2而v5附带npm v3.npm的v3在处理peerDependancies方面对你的项目有一些潜在的重大变化.npm v3现在尝试安装依赖项自身的依赖项尽可能平坦,避免重复可能会影响您的项目,但对Windows用户来说是一个很大的好处,所以这也可能影响您的决策.


小智 15

发布类型

  • 当前:正在积极开发中。当前版本的代码位于其主要版本号的分支中(例如 v10.x)。Node.js 每 6 个月发布一个新的主要版本,允许进行重大更改。这种情况发生在每年的四月和十月。每年 10 月发布的版本的支持期限为 8 个月。每年 4 月发布的版本会在每年 10 月转换为 LTS(见下文)。

  • LTS:获得长期支持的版本,重点关注稳定性和安全性。每个偶数主要版本都将成为 LTS 版本。LTS 版本获得 18 个月的主动 LTS支持和另外 12 个月的维护。LTS 发布系列的代号按字母顺序排列,从 v4 Argon 开始。除某些特殊情况外,没有重大更改或功能添加。

来源


Vic*_*nch 7

4.x是当前支持的版本,类似于生产版本.5.0版是稳定的,但它是在不断变化的即将到来的版本,并应被视为好像它是一个测试版或发布候选.因此,您目前看不到5.0作为Amazon Elastic Beanstalk等选项.

一旦稳定版本行成为LTS,则不会向该版本添加任何新功能或重大更改.

资源