Node.js 26.3.1 已正式进入 Current 发布线。对一线开发者来说,这意味着 26.x 系列不再是实验性分支——它已经足够稳定,可以用于日常开发和预生产环境验证。但 Current 不等于 LTS,升级决策依然需要权衡。
Current 和 LTS 的区别,这次尤其重要
Node.js 的发布策略是:偶数版本(如 22、26)最终会成为 LTS,奇数版本(如 23、25)永远不会。26.x 目前处于 Current 阶段,预计在 2025 年 10 月进入 LTS(Active Support)。这意味着:
- Current 阶段:API 可能仍有小幅变动,Bug 修复频率高,适合尝鲜和提前适配。
- LTS 阶段:API 锁定,只做安全修复和 Bug 修复,适合生产环境长期运行。
如果你的项目正在 Node.js 22 LTS 上稳定运行,没有紧急需求,不必急着切换。但如果你在规划下一轮技术升级,现在开始在 Current 上做兼容性测试,是成本最低的时间窗口。
26.x 系列值得关注的几件事
V8 引擎更新
26.x 搭载了更新的 V8 引擎,带来新的 JavaScript 语法支持和性能优化。具体版本随小版本更新滚动,26.3.1 包含了截至该版本的 V8 补丁。对开发者最直接的影响是:部分此前需要 --harmony 标志的提案特性可能已经默认启用。
内置 Test Runner 持续完善
Node.js 内置的 node:test 模块在 26.x 中进一步成熟。如果你还在用 Jest 或 Mocha,可以开始评估内置 Test Runner 是否能满足需求——减少外部依赖意味着更少的版本锁定问题。
网络与流相关改进
26.x 对 fetch、WebSocket 客户端、流(Streams)等网络相关 API 做了持续修复和增强。这些是日常 HTTP 服务和微服务通信中最常用的底层能力。
实践:快速验证你的项目在 26.3.1 上是否就绪
下面是一个可以直接跑的检查脚本,帮你确认关键兼容性点:
# 安装 Node.js 26.3.1(使用 nvm)
nvm install 26.3.1
nvm use 26.3.1
# 确认版本
node -v
# 应输出 v26.3.1
# 检查 V8 版本
node -e "console.log(process.versions.v8)"
# 检查你的项目依赖是否兼容
cd your-project
npm install
npm test
如果你想在 CI 中并行验证多个 Node 版本,可以用这个 GitHub Actions 片段:
# .github/workflows/node-compat.yml
name: Node Compatibility
on: [push, pull_request]
jobs:
test:
strategy:
matrix:
node-version: [22, 26]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
- run: npm ci
- run: npm test
这样每次提交都会在 LTS(22)和 Current(26)上同时跑测试,提前发现兼容性问题。
升级决策清单
在决定是否把生产环境切换到 26.x 之前,逐项确认:
- 所有核心依赖的
engines字段是否声明支持 26——查看package.json和锁文件。 - Native addon(如 canvas、sharp)是否已发布兼容 26 的预编译包——这类依赖经常是升级卡点。
- 你的测试覆盖率是否足够——低覆盖率下升级 Current 版本,风险不可控。
- 是否有使用已废弃 API——跑一遍
node --deprecation-warning your-app.js,看输出。 - 是否需要 LTS 的长期承诺——如果项目生命周期超过 2 年,等 10 月 LTS 更稳妥。
26.3.1 作为 Current 版本,最适合的角色是"验证环境":用它跑测试、做预发布,把问题提前暴露。等到 10 月 LTS 锁定 API 后,再全面切换生产环境,这是风险最低的路径。