Node.js 20 is being deprecated on October 1, 2026
TL;DR · AI 摘要
Node.js 20将在2026年10月1日被Vercel弃用,开发者需升级至Node.js 24或使用容器镜像替代。
核心要点
- 2026年10月1日起Vercel将禁用Node.js 20的项目设置
- 升级需修改package.json的engines字段或使用容器镜像
- 容器镜像方案可绕过弃用限制但需自行管理版本安全
结构提纲
按章节快速跳转。
- §弃用公告
宣布Node.js 20在Vercel平台的弃用时间及影响范围
- ·影响范围
现有部署不受影响但新部署将禁用Node.js 20
- ›升级方法
通过修改engines字段或使用容器镜像进行版本升级
- ·替代方案
使用Dockerfile.vercel容器镜像可继续使用Node.js 20
- ›操作步骤
提供具体的npm命令和Dockerfile配置示例
思维导图
用一张图看清主题之间的关系。
查看大纲文本(无障碍 / 无 JS 友好)
- Node.js 20弃用
- 弃用时间
- 2026年10月1日
- 影响范围
- 新部署禁用
- 现有部署不受影响
- 升级方案
- 修改engines字段
- 容器镜像替代
- 安全更新自管理
金句 / Highlights
值得收藏与分享的关键句。
2026年10月1日后新部署将禁用Node.js 20,现有部署不受影响
使用engines字段设置{ "node": "24.x" }可覆盖项目设置版本
Dockerfile.vercel方案允许继续使用Node.js 20但需自行管理安全更新
Node.js 20 将于 2026 年 10 月 1 日停用 - Vercel
随着 Node.js 20 在 2026 年 4 月 30 日达到生命周期终点,我们将在 2026 年 10 月 1 日停用 Builds 和 Functions 中的 Node.js 20。
如何查看哪些项目受影响?
您可以通过以下方式查看哪些项目会受到此次停用影响:
终端
npm
i
-g
vercel@latest
vercel project
ls
--update-required列出仍使用已停用 Node.js 版本的项目。
现有部署会受到影响吗?
不会,现有使用 Serverless Functions 的部署不受影响。对已部署函数的调用将继续正常工作。只有新部署会受到影响。
何时无法再使用 Node.js 20?
2026 年 10 月 1 日起,Node.js 20 将在项目设置中被禁用。现有项目如果将 20 作为 Functions 的版本,在创建新部署时会显示错误。
如何升级 Node.js 版本?
您可以通过项目设置或 package.json 中的 engines 字段配置 Node.js 版本。
您也可以将升级任务交给编码代理:
将此 Vercel 项目从 Node.js 20 升级到 24。在 package.json 中设置 engines 字段为 { "node": "24.x" },这将覆盖下次部署时的项目设置版本。更新 .nvmrc、.node-version 或 CI 配置中的 Node 20 锁定。将本地运行时切换到 Node 24,重新安装依赖项,运行构建和测试,并修复任何破坏性变更。部署后,通过记录 process.version 确认版本。将升级任务交给编码代理为您处理。
如果在 10 月 1 日前无法升级怎么办?
如果您无法及时完成升级而不影响应用,可以将其作为容器镜像部署。在项目根目录添加 Dockerfile.vercel,每次提交代码时都会构建和部署镜像:
Dockerfile.vercel
1
FROM
node:20-alpine
2
WORKDIR
/app
3
COPY
. .
4
RUN
npm ci
5
# 您的服务器必须监听 $PORT
6
CMD
[
"node"
,
"server.js"
]将 Node.js 20 作为基础镜像锁定。容器中的项目设置中的 Node.js 版本不适用,因此停用不会影响这些部署。
我们仍建议您在能够时进行升级。使用容器时,您需要自行管理 Node.js 版本及其安全更新。
在 2026 年 10 月 1 日前完成升级。了解更多关于受支持 Node.js 版本的信息。