跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客我的书AI学习GitHub 精选镜像AI工具UI配色美学关于
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
JavaScriptNode.js

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

Node.js 24 LTS 版本代号 Krypton,于 2025 年 10 月进入长期支持阶段,预计支持至 2028 年 4 月。主要更新包括内置 OpenSSL 3.5 提升安全性,调整平台支持策略(移除 32 位 Linux armv7 预编译包,macOS 最低要求升至 13.5)。已知 Buffer.allocUnsafe API 返回填充零缓冲区的问题将在后续版本修复。从 Node.js 22 迁移需关注 crypto 模块参数变更、fs.truncate 警告及 util.log 废弃。社区提供 Codemod 工具辅助自动化迁移。

樱花落尽发布于 2026/3/30更新于 2026/10/25104 浏览

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 密钥对时,一些参数名称发生了变化。

旧的参数名 hash、mgf1Hash 和 saltLength 已被废弃。新的参数名分别是 hashAlgorithm、mgf1HashAlgorithm 和 saltLength。

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

文件系统 API 的调整

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

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

其他 API 变化

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

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

社区提供的迁移工具

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

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

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

bash
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 是一个很好的起点。如果你正在使用旧版本,现在是开始考虑迁移的好时机。


参考资料:

  • Node.js 官方博客:https://nodejs.org/en/blog/release/v24.11.0
  • 迁移指南:https://nodejs.org/en/blog/migrations/v22-to-v24
  • 社区迁移工具:https://github.com/nodejs/userland-migrations/issues/239

目录

  1. 什么是 LTS 版本
  2. Node.js 24 LTS 的基本信息
  3. 平台支持的重要变化
  4. 不再支持的平台
  5. macOS 的最低版本要求
  6. Linux 平台的兼容性
  7. OpenSSL 3.5 的升级
  8. 需要注意的已知问题
  9. 从 Node.js 22 迁移
  10. 加密模块的变化
  11. 文件系统 API 的调整
  12. 其他 API 变化
  13. 社区提供的迁移工具

更多推荐文章

查看全部
  • Java 多线程在项目中的常见应用场景
  • C++ 模拟实现二叉搜索树
  • OpenClaw 开源智能 AI 助理:云端一键部署方案
  • Arrow 游戏叙事设计工具:基于 Godot 4 的可视化剧情编辑器
  • C++ 模板初阶
  • 基于 XTuner 微调 LLaVA-Llama-3-8B 多模态模型教程
  • AI 自动生成一线与二线产区标准图
  • Ubuntu 虚拟机部署 OpenClaw 个人 AI 助手
  • 大语言模型架构解析:稀疏门控混合专家(MoE)模型
  • Spring Boot 消息队列与异步处理实战
  • 基于 Leaflet Trackplayer 的高速公路轨迹 WebGIS 可视化实战
  • Android 互联网大厂社招指南与核心面试题解析
  • Deer-flow:字节跳动开源的高性能轻量级 C++ 工作流引擎
  • 运营商高管调整与工信部人形机器人标准化委员会成立分析
  • Vue2.x 使用 SVG 实现不封闭圆形进度条及组件封装
  • Java Web 大文件分块上传与断点续传实现方案
  • 2026 年三大 AI 写作工具测评:如何消除英文 AI 痕迹
  • Web 端即时通讯聊天的三种加密算法实现方案
  • 低代码构建连锁门店管理系统:标准化与高效管控
  • 在 Cursor 中配置和使用 MCP 服务

相关免费在线工具

  • Keycode 信息

    查找任何按下的键的javascript键代码、代码、位置和修饰符。 在线工具,Keycode 信息在线工具,online

  • Escape 与 Native 编解码

    JavaScript 字符串转义/反转义;Java 风格 \uXXXX(Native2Ascii)编码与解码。 在线工具,Escape 与 Native 编解码在线工具,online

  • JavaScript / HTML 格式化

    使用 Prettier 在浏览器内格式化 JavaScript 或 HTML 片段。 在线工具,JavaScript / HTML 格式化在线工具,online

  • JavaScript 压缩与混淆

    Terser 压缩、变量名混淆,或 javascript-obfuscator 高强度混淆(体积会增大)。 在线工具,JavaScript 压缩与混淆在线工具,online

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online