升级Node.js后启动Next.js仍提示Failed to load next.config.js报错
问题原因
报错核心是你当前使用的Node.js v10.15.3版本仍然过低,和模板项目使用的Next.js版本不兼容。
你查到的版本不匹配排查方向是对的,但v10.15.3是2019年发布的老旧版本,目前主流的Next.js 12及以上版本最低要求Node.js 14.6.0起步,Next 13、14版本更是要求Node.js 18.17以上才能正常运行。Node 10不支持Next.js加载配置文件时用到的ES Module规范、内置Web API等新特性,才会直接抛出Error: Not supported的错误,和你是否修改过配置文件没有关系。
解决操作步骤
- 先打开项目根目录下的
package.json文件,查看engines字段标注的Node.js版本要求,优先安装该范围内的LTS长期支持版本。 - 如果项目没有标注明确的版本要求,直接安装Node.js 18.x或者20.x的LTS版本即可,这两个版本是Next.js官方长期兼容的稳定版本,基本不会出现兼容问题。
- 新版本Node.js安装完成后,在终端执行
node -v确认输出的版本号符合要求,接着删除项目根目录下的node_modules文件夹,以及对应包管理器的锁文件:用npm就删package-lock.json、用yarn就删yarn.lock、用pnpm就删pnpm-lock.yaml。 - 重新在项目根目录执行依赖安装命令:npm执行
npm install、pnpm执行pnpm install、yarn直接执行yarn即可,等依赖安装完成后再执行npx next dev就能正常启动本地开发服务。
如果本地有多个项目需要用到不同版本的Node.js,可以用nvm、n这类Node版本管理工具,针对单个项目切换对应版本,不会造成全局环境冲突。
内容的提问来源于stack exchange,提问作者blue
相关产品推荐
相关产品推荐

