我想在NextJS中创建我的第一个项目。我遵循以下步骤:
npx创建下一个应用程序@最新
npm运行开发
但我得到了以下错误:
grafeno30@linuxHome:~/src/NextJS/file-based-routing/my-app$ npm run dev
> my-app@0.1.0 dev
> next dev
/home/grafeno30/src/NextJS/file-based-routing/my-app/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/grafeno30/src/NextJS/file-based-routing/my-app/node_modules/next/dist/lib/commands.js:10:30)
at Object.<anonymous> (/home/grafeno30/src/NextJS/file-based-routing/my-app/node_modules/next/dist/bin/next:141:28)
at Module._compile (internal/modules/cjs/loader.js:999:30)
grafeno30@linuxHome:~/src/NextJS/file-based-routing/my-app$ rm -rf node_modules
grafeno30@linuxHome:~/src/NextJS/file-based-routing/my-app$ npm install
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE package: 'eslint-import-resolver-typescript@3.5.2',
npm WARN EBADENGINE required: { node: '^14.18.0 || >=16.0.0' },
npm WARN EBADENGINE current: { node: 'v12.22.9', npm: '8.5.1' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE package: 'next@13.0.6',
npm WARN EBADENGINE required: { node: '>=14.6.0' },
npm WARN EBADENGINE current: { node: 'v12.22.9', npm: '8.5.1' }
npm WARN EBADENGINE }
npm WARN EBADENGINE Unsupported engine {
npm WARN EBADENGINE package: 'synckit@0.8.4',
npm WARN EBADENGINE required: { node: '^14.18.0 || >=16.0.0' },
npm WARN EBADENGINE current: { node: 'v12.22.9', npm: '8.5.1' }
npm WARN EBADENGINE }
added 251 packages, and audited 252 packages in 6s
86 packages are looking for funding
run `npm fund` for details
found 0 vulnerabilities
grafeno30@linuxHome:~/src/NextJS/file-based-routing/my-app$ npm run dev
> my-app@0.1.0 dev
> next dev
/home/grafeno30/src/NextJS/file-based-routing/my-app/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/grafeno30/src/NextJS/file-based-routing/my-app/node_modules/next/dist/lib/commands.js:10:30)
at Object.<anonymous> (/home/grafeno30/src/NextJS/file-based-routing/my-app/node_modules/next/dist/bin/next:141:28)
at Module._compile (internal/modules/cjs/loader.js:999:30)*
我尝试删除node_modules文件夹,并在执行"npm“之后。但它还是给了我同样的错误
提前感谢
发布于 2022-12-04 20:41:21
您正在运行一个旧版本的Node.js (v12.22.9),它不支持在next
包中使用的??
操作符。错误消息表明,next
包至少需要运行Node.js 14.6.0。
要解决此问题,您需要按照Node.js上的说明,将您的版本的Node.js网站更新为至少14.6.0。一旦更新了Node.js,就可以尝试再次运行npm来启动开发服务器。
此外,在更新Nodejs之后,您可以尝试删除node_modules
目录并再次运行npm,以确保所有必需的包都安装了兼容的版本。
https://stackoverflow.com/questions/74680641
复制相似问题