You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Vercel部署时遇Unexpected token '??='错误,本地正常求解决

解决Vercel部署时的??=语法错误问题

本地开发环境运行项目一切正常,但部署到Vercel时出现以下语法错误:

SyntaxError: Unexpected token '??='
    at wrapSafe (internal/modules/cjs/loader.js:1029:16)
    at Module._compile (internal/modules/cjs/loader.js:1078:27)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1143:10)
    at Module.load (internal/modules/cjs/loader.js:979:32)
    at Function.Module._load (internal/modules/cjs/loader.js:819:12)
    at Module.require (internal/modules/cjs/loader.js:1003:19)
    at require (internal/modules/cjs/helpers.js:107:18)
    at Object.<anonymous> (/vercel/path0/node_modules/next/dist/telemetry/post-payload.js:17:20)
    at Module._compile (internal/modules/cjs/loader.js:1114:14)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1143:10)
Error: Command "npm run build" exited with 1
Deployment completed
BUILD_UTILS_SPAWN_1: Command "npm run build" exited with 1

解决方法:

  • 统一Node.js版本:??=是ES2021引入的逻辑空赋值运算符,需要Node.js 16.0.0及以上版本支持。本地和Vercel环境版本不一致是核心问题。

    • 在项目根目录创建.nvmrc文件,写入目标版本(比如18),Vercel会自动读取该文件使用对应Node版本。
    • 或者在Vercel控制台进入项目「Settings」→「General」→「Node.js Version」,手动选择16+的版本。
  • 验证Next.js版本兼容性:确保项目使用的Next.js版本与指定的Node.js版本兼容,避免因框架依赖导致的语法支持问题。

  • 清理依赖缓存:部署时勾选Vercel部署界面的「Skip Cache」选项,强制重新安装依赖;也可以本地删除node_modules和package-lock.json后重新提交代码,让Vercel重新拉取依赖。

内容的提问来源于stack exchange,提问作者Saksham Kushwaha

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.22 15:30:10