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

执行npm run dev遇SyntaxError: Unexpected token '?'错误,如何解决?

解决Next.js项目启动时的SyntaxError: Unexpected token '?'错误

错误原因

这个报错是因为你的Node.js版本不支持ES2020引入的空值合并运算符(??),而你使用的Next.js版本依赖了这个语法特性。Next.js 12及以上版本要求Node.js版本至少为14.6.0,你的当前Node版本低于该要求,导致无法解析语法。

解决方案

方案1:升级Node.js(推荐)

这是最稳妥的解决方式,保证后续项目兼容性:

  1. 先检查当前Node版本:
node -v
  1. 如果版本低于14.6.0,使用nvm(Node版本管理器)升级:
    • 安装nvm后,执行以下命令安装长期支持版:
    nvm install lts/gallium
    nvm use lts/gallium
    
    • 没有nvm的话,也可以直接下载对应版本的Node.js安装包覆盖安装。
  2. 升级完成后,重新启动项目:
npm run dev

方案2:降级Next.js到兼容旧Node版本的版本

如果暂时无法升级Node,可以降级Next.js到支持旧版本Node的版本(比如Next.js 11.x,支持Node.js 12.x及以上):

npm uninstall next
npm install next@11

安装完成后重新执行npm run dev即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 21:06:18