本文档概述了 Node.js 的不同发布类型及其支持生命周期。它解释了 Node.js 版本是如何创建、维护和最终退役的,帮助开发者了解哪个版本适合他们的需求以及每个版本将支持多长时间。
Node.js 有三种主要的发布类型,每种都满足不同的用户需求:
当前版本(Current releases)处于积极开发中,包含最新的功能、改进和错误修复。这些版本非常适合想要使用最新 Node.js 功能的开发者。
当前版本发布的关键特性
LTS 版本侧重于生产环境的稳定性、安全性和性能。这些版本提供更长的支持周期,并优先考虑向后兼容性。
LTS 版本发布的关键特性
每日构建版本(Nightly releases)是从当前开发分支自动生成的每日构建版本。它们提供了对最新更改的访问,但可能不稳定。
每日构建版本发布的关键特性
来源:README.md57-58 README.md80-87
Node.js 的发布时间表遵循可预测的模式,使用户能够计划升级和转换。
此图说明了版本如何经历不同的阶段,偶数版本(N、N+2)将成为 LTS 版本,而奇数版本(N+1)将仅作为 Current 版本。
Node.js 遵循 Current 和 LTS 版本的语义化版本控制,这有助于用户理解更新的影响。
LTS 版本会被赋予按字母顺序排列的代号。这使得引用特定 LTS 版本更容易,而无需记住版本号。
近期 LTS 代号示例
最新的 LTS 版本可以通过 Node.js 下载仓库中的 latest-<codename> 目录访问。
来源:README.md54-55 README.md75-78
Node.js 的版本可从多个地点下载:
Current 和 LTS 版本按版本号组织在目录中。latest 目录指向最新发布的 Current 版本,而 latest-<codename> 目录指向特定 LTS 系列的最新版本。
Nightly 构建遵循一个命名约定,包括:
例如:v22.0.0-nightly20240424ddd0a9e494
安全是 Node.js 发布流程中的关键方面。安全漏洞会根据其严重程度在所有活跃的维护版本线中得到处理。
该项目有一个由安全管家管理的专门的安全发布流程,负责协调对漏洞的响应。当发现安全问题时:
对于 LTS 版本,安全是首要任务,尤其是在维护阶段,此时更新主要侧重于安全修复。
来源:doc/contributing/security-release-process.md1-181
所有官方 Node.js 版本都由发布团队成员进行加密签名。这确保了下载的完整性和真实性。
要验证下载的 Node.js 包,请执行以下操作:
SHASUMS256.txt 文件。sha256sum 验证文件哈希。SHASUMS256.txt.sig 的签名。Node.js 发布团队由以下成员组成,他们负责:
发布团队的当前成员列表及其 GPG 密钥可以在 Node.js 仓库的 README 中找到。
此图展示了代码如何从开发阶段经历不同的发布阶段和渠道,直至生命周期结束。
了解 Node.js 的版本类型及其生命周期,对于在不同环境中就使用哪个版本做出明智的决定至关重要。Current 版本提供最新功能,但需要更频繁的更新;而 LTS 版本为生产环境提供了稳定性和长期支持。Nightly 构建版本供希望紧跟最新开发的用户进行测试。
通过遵循可预测的发布时间表,用户可以规划其 Node.js 升级策略,以平衡对新功能的访问与稳定性需求。