在nextjs应用程序中升级react时出现意外的令牌错误



我想在nextjs应用程序中升级到React 18。我遵循了官方文件中的指示。

npm install next@latest react@latest react-dom@latest

但当我尝试运行npm run build时,我得到了错误:

/node_modules/next/dist/build/index.js:329
...pageKeys.app ?? [],
^
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)

我试着用谷歌搜索这个错误,但没有运气

当前next.js(13.0.0(需要节点14.6.0或更新版本:

系统要求

  • Node.js 14.6.0或更高版本
  • 支持MacOS、Windows(包括WSL(和Linux

您看到的错误是因为某些next.js代码使用了无效合并运算符。这个语言结构是在节点14.0.0中引入的。

根据acdcjunior的回答,如果有人希望终端命令更新节点版本,他们可以这样做:

nvm install v (Whatever latest stable version is running currently)

如果以上有任何问题,请尝试以下操作:

npm install n stable -g

如果您遇到权限问题,请执行以下操作:

sudo su
npm install n stable -g

可以肯定的是,你可以这样做:

npm use v(Whatever you downloaded)

最新更新