Node.js 24 LTS 正式发布,稳定支持到 2028 年

2025 年 10 月 28 日,Node.js 项目组发布了 v24.11.0 版本。这个版本标志着 Node.js 24 正式进入长期支持(LTS)阶段。开发者现在可以在生产环境中放心使用这个版本了。

Node.js 各版本发布时间表如下:

什么是 LTS 版本

LTS 是 Long Term Support 的缩写。它代表长期支持版本。

Node.js 的 LTS 版本会持续获得维护和更新。这些更新包括安全补丁、bug 修复和性能优化。

对于生产环境来说,LTS 版本是最佳选择。它提供了稳定性和可靠性的保证。

Node.js 24 LTS 的基本信息

Node.js 24 的 LTS 代号是 "Krypton"。这个代号来自元素周期表中的氪元素。

这个版本将持续获得支持,直到 2028 年 4 月底。在这段时间内,开发者可以获得官方的技术支持和更新。

从技术角度看,v24.11.0 和之前的 v24.10.0 没有太大差异。主要的变化是更新了元数据信息。例如 process.release 对象现在会显示这是一个 LTS 版本。

平台支持的重要变化

Node.js 24 在平台支持方面做出了一些调整。开发者需要注意这些变化。

不再支持的平台

从 Node.js 23 开始,官方不再提供 32 位 Windows(x86)的预编译版本。

从 Node.js 24 开始,官方不再提供 32 位 Linux armv7 的预编译版本。

如果你还在使用这些平台,需要考虑升级硬件或使用更早的 Node.js 版本。

macOS 的最低版本要求

macOS 用户需要注意系统版本要求。

Node.js 24 的预编译版本要求 macOS 13.5 或更高版本。如果你的系统版本较低,需要先升级系统。

Linux 平台的兼容性

Linux 系统的用户可以放心。

Node.js 24 在 arm64、ppc64le、s390x 和 x64 架构上继续兼容 glibc 2.28 及以上版本。这个要求和 Node.js 22 保持一致。

OpenSSL 3.5 的升级

Node.js 24 LTS 内置了 OpenSSL 3.5 版本。这是一个重要的安全组件升级。

OpenSSL 3.5 默认使用安全级别 2。这个级别对加密算法有一些要求:

首先,RSA、DSA 和 DH 密钥长度必须至少为 2048 位。

其次,椭圆曲线密钥必须至少为 224 位。

最后,不允许使用 MD5 和 SHA-1 算法进行签名。

这些限制提高了安全性。但如果你的应用依赖较弱的加密算法,可能会遇到兼容性问题。

需要注意的已知问题

Node.js 24.x 系列目前有一个已知问题。开发者需要了解这个问题。

问题涉及到 Buffer.allocUnsafe API。这个 API 本应返回未初始化的内存。但在当前版本中,它意外地返回了填充为零的缓冲区。

官方文档说明这个 API 应该返回未初始化的内存。下一个 Node.js 24.x LTS 版本会恢复正确的行为。

这个变化可能会影响依赖未初始化内存行为的代码。开发者需要提前测试和准备。

从 Node.js 22 迁移

如果你正在使用 Node.js 22 LTS,迁移到 Node.js 24 需要注意一些破坏性变化。

加密模块的变化

crypto 模块在生成 RSA-PSS 密钥对时,一些参数名称发生了变化。

旧的参数名 hashmgf1HashsaltLength 已被废弃。新的参数名分别是 hashAlgorithmmgf1HashAlgorithmsaltLength

你需要更新代码中的参数名称。

文件系统 API 的调整

fs.truncate 在使用文件描述符时会给出警告。官方建议改用 fs.ftruncate

zlib 模块的 bytesRead 属性已被废弃。应该使用 bytesWritten 替代。

其他 API 变化

util.log 已被废弃。推荐使用 console.log 替代。

fs 模块的常量访问方式也有变化。不再推荐通过 fs.F_OK 等方式访问,应该使用 fs.constants.F_OK

社区提供的迁移工具

Node.js 社区提供了自动化迁移工具。这些工具可以帮助你更快完成迁移。

Codemod 是一个代码转换工具。它可以自动修改代码以适应新版本的要求。

你可以使用以下命令运行迁移工具:

go 复制代码
npx codemod run @nodejs/crypto-rsa-pss-update
npx codemod run @nodejs/fs-access-mode-constants
npx codemod run @nodejs/util-log-to-console-log

这些工具会扫描你的代码并自动进行必要的修改。


Node.js 24 LTS 的发布是 Node.js 生态系统的重要里程碑。这个版本带来了更高的安全性。OpenSSL 3.5 提供了更强的加密保护。

平台支持更加现代化。虽然放弃了一些老旧平台,但这有助于团队专注于主流平台的优化。

对于大多数开发者来说,这是一个稳定可靠的选择。它将在未来几年内持续获得支持。

如果你正在规划新项目,Node.js 24 LTS 是一个很好的起点。如果你正在使用旧版本,现在是开始考虑迁移的好时机。


参考资料:

相关推荐
Never_Satisfied8 小时前
在JavaScript / Node.js中,package.json文件中的依赖项自动选择最新版安装
javascript·node.js·json
yhole10 小时前
如何升级node.js版本
node.js
Luna-player11 小时前
vue3,单页应用学习笔记
node.js
天远云服12 小时前
天远企业司法认证API对接实战:PHP构建B2B供应链合规防火墙
大数据·开发语言·后端·node.js·php
lzp079114 小时前
如何在Windows系统上安装和配置Node.js及Node版本管理器(nvm)
windows·node.js
weiwx8317 小时前
【前端】Node.js使用教程
前端·node.js·vim
i建模18 小时前
Ubuntu Node.js 升级方案
linux·运维·ubuntu·node.js
结网的兔子19 小时前
前端学习笔记(实战准备篇)——用vite构建一个项目【吐血整理】
前端·学习·elementui·npm·node.js·vue
i建模20 小时前
npm国内镜像源加速
前端·npm·node.js
热爱生活的五柒1 天前
解决 npm install 一直在转圈的问题
前端·npm·node.js