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

执行npm run start时出现Unexpected token '?'错误求助

Node.js v12.22.3下执行npm run start报错的原因及解决方法

环境信息

Mac系统下用nvm管理Node.js版本,当前激活版本为v12.22.3,nvm ls输出如下:

myuser@myuser-MacBook-Pro myproject-master % nvm ls      
->     v12.22.3
         system
default -> 12.22.3 (-> v12.22.3)
iojs -> N/A (default)
unstable -> N/A (default)
node -> stable (-> v12.22.3) (default)
stable -> 12.22 (-> v12.22.3) (default)
lts/* -> lts/hydrogen (-> N/A)
lts/argon -> v4.9.1 (-> N/A)
lts/boron -> v6.17.1 (-> N/A)
lts/carbon -> v8.17.0 (-> N/A)
lts/dubnium -> v10.24.1 (-> N/A)
lts/erbium -> v12.22.12 (-> N/A)
lts/fermium -> v14.21.3 (-> N/A)

lts/gallium -> v16.20.2 (-> N/A)

lts/hydrogen -> v18.18.0 (-> N/A)

myuser@myuser-MacBook-Pro myproject-master%

报错信息

执行npm run start后出现语法错误,具体输出:

myuser@myuser-MacBook-Pro myproject-master % npm run start

> authserver@0.0.0 start /Users/myuser/Downloads/myproject-master
> concurrently --kill-others "npm run build-dev && npm run serve" "npm run watch"

/Users/myuser/Downloads/myproject-master/node_modules/concurrently/dist/src/command.js:78
                exitCode: exitCode ?? String(signal),
                                    ^

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.<anonymous> (/Users/myuser/Downloads/myproject-master/node_modules/concurrently/dist/src/index.js:4:19)
    at Module._compile (internal/modules/cjs/loader.js:999:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! authserver@0.0.0 start: `concurrently --kill-others "npm run build-dev && npm run serve" "npm run watch"`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the authserver@0.0.0 start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

原因分析

报错里的??是空值合并运算符,这个语法从Node.js v14.0.0才开始支持。你当前使用的v12.22.3不兼容该语法,但项目安装的concurrently版本过高,内部代码用到了这个新语法,导致运行时抛出语法错误。

解决方法

方案1:降级concurrently到兼容Node.js v12的版本

concurrently 6.x系列支持Node.js v12,执行以下命令替换版本:

npm uninstall concurrently
npm install concurrently@6 --save-dev

完成后重新运行npm run start即可。

方案2:升级Node.js到v14及以上版本

通过nvm安装并切换到支持该语法的LTS版本,比如v14.21.3:

nvm install 14.21.3
nvm use 14.21.3

验证版本:

node -v

确认版本后重新执行npm run start。

内容的提问来源于stack exchange,提问作者वरुण

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 17:24:54