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

NextJS启动报错:Unexpected token '?' 求助排查原因

问题描述

在全新安装的Ubuntu 22.04.1 LTS系统上已安装npm和docker,执行npm run dev或npm run start启动NextJS服务器时,出现如下错误:

niklas@srv-code01:~/Desktop/Code/Javascript/NextJS/website_01$ npm run dev

> website_01@0.1.0 dev
> next dev

/home/niklas/Desktop/Code/Javascript/NextJS/website_01/node_modules/next/dist/cli/next-dev.js:315
            showAll: args["--show-all"] ?? false,
                                         ^

SyntaxError: Unexpected token '?'
    at wrapSafe (internal/modules/cjs/loader.js:915:16)
    at Module._compile (internal/modules/cjs/loader.js:963:27)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10)
    at Module.load (internal/modules/cjs/loader.js:863:32)
    at Function.Module._load (internal/modules/cjs/loader.js:708:14)
    at Module.require (internal/modules/cjs/loader.js:887:19)
    at require (internal/modules/cjs/helpers.js:74:18)
    at Object.dev (/home/niklas/Desktop/Code/Javascript/NextJS/website_01/node_modules/next/dist/lib/commands.js:10:30)
    at Object.<anonymous> (/home/niklas/Desktop/Code/Javascript/NextJS/website_01/node_modules/next/dist/bin/next:141:28)
    at Module._compile (internal/modules/cjs/loader.js:999:30)

已安装最新版npm,但无法判断错误原因,求解答。

错误原因
  • 错误中的??是空值合并运算符,该语法仅在Node.js v14.0.0及以上版本中得到支持。
  • Ubuntu 22.04.1 LTS默认预装的Node.js版本可能低于v14(比如系统自带的v12.x分支),而当前使用的Next.js版本对Node.js的版本要求高于系统自带版本,导致Node.js无法识别该语法,从而抛出SyntaxError。
  • 仅更新npm无法解决问题,因为npm版本与Node.js版本绑定,单独升级npm不会提升Node.js的运行版本,所以语法兼容问题依然存在。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 02:31:00