我想在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)