NextJS项目启动报错SyntaxError: Unexpected token '?' 求助
问题根源
你遇到的SyntaxError: Unexpected token '?'错误,本质是Node.js版本过低导致的。从npm安装时的警告可以明确看到:Next.js 13.0.6要求Node.js版本>=14.6.0,但你当前使用的是v12.22.9——而??(空值合并运算符)是Node.js 14及以上版本才支持的语法,旧版本Node无法解析Next.js代码中的该语法,因此引发报错。
解决方案
1. 升级Node.js版本
推荐使用Node.js的LTS(长期支持)版本(如18.x或20.x),可通过以下方式升级:
方式一:使用nvm(Node版本管理器,推荐)
nvm能轻松切换多个Node版本,安装nvm后重启终端,执行以下步骤:
- 安装18.x LTS版本:
nvm install 18 --lts - 切换至该版本:
nvm use 18 - 验证版本是否切换成功:
node --version
方式二:直接安装官方包
下载对应系统的Node.js LTS版本安装包,覆盖现有Node.js即可。
2. 重新安装依赖并启动项目
升级Node.js后,进入项目目录,执行以下命令:
rm -rf node_modules package-lock.json npm install npm run dev
完成后即可正常启动Next.js项目。
内容的提问来源于stack exchange,提问作者grafeno30
相关产品推荐
相关产品推荐

