Next.js 12.1.5 + React 18 + Node.js 16环境下出现Module not found: Can't resolve 'regenerator-runtime'错误求助
解决Next.js启动时
regenerator-runtime/runtime.js模块找不到的问题 我之前也碰到过一模一样的报错,大概率是依赖安装不完整、缓存出问题或者路径有异常导致的,你可以按照以下步骤逐一排查解决:
1. 彻底重装依赖
首先把现有的依赖文件夹和锁文件删掉,重新安装一遍,这样能解决大部分依赖缺失的问题:
- 执行命令删除
node_modules和锁文件:# 如果你用的是npm rm -rf node_modules package-lock.json # 如果你用的是yarn rm -rf node_modules yarn.lock - 重新安装所有依赖:
npm install # 或者用yarn的话 yarn install
2. 清理Next.js的缓存
Next.js的缓存有时候会搞出模块解析的幺蛾子,清理一下缓存再试试:
npx next clean
3. 检查项目路径是否有问题
从你的错误信息里能看到两个路径不太对得上:
D:\\mywebsites\\next.jsudemy\\next-blog\\node_modules\\next\\dist\\compiled\\regenerator-runtime\\runtime.js
和D:\\mywebsites\\next.js\\udemy\\next-blog\\node_modules\\next\\dist\\client\\dev
看起来你的项目文件夹路径可能有拼写错误(比如next.jsudemy和next.js/udemy的差异),或者路径里有特殊字符、空格,导致模块解析时找不到正确的文件。建议确认一下项目所在的文件夹命名和路径是否正确,尽量用简洁无歧义的命名。
4. 调整Next.js版本(可选)
如果上面的方法都没效果,你可以试试调整Next.js的版本,比如升级到12.x系列的稳定版,或者找个和React 18更适配的版本:
npm install next@12.3.4
做完这些步骤之后,再运行npm run dev启动开发服务,应该就能解决这个模块找不到的问题了。
内容的提问来源于stack exchange,提问作者Akash Saha
相关产品推荐
相关产品推荐

