Next.js运行npm run dev时出现amp-dev.js相关模块找不到报错
问题根因
先看报错里打印的找不到模块的路径:C:\Usersudbasili\Documents\...,正常的系统用户路径应该是C:\Users\udbasili\...——路径里Users和你的用户名udbasili之间的反斜杠分隔符丢了,导致webpack拼出来的路径完全不对,才会连续报regenerator-runtime模块找不到、fallback-build-manifest.json找不到的错误。
这个问题和Next.js版本、项目代码、第三方依赖没有关系,纯粹是Windows环境下命令行/Node路径转义的偶发bug:项目放在C:\Users\udbasili目录层级下时,路径解析逻辑会吞掉那个分隔符,放在公共目录(比如你测试的public文件夹)时路径拼接正常,就不会报错。
解决方案
按顺序试,前两个方案基本能覆盖90%以上的同类场景:
- 清理缓存后用系统原生PowerShell重装依赖
不要用Git Bash、WSL终端、第三方美化终端跑npm命令,这类终端会自动转义Windows路径的反斜杠,很容易触发这类问题。打开系统自带的PowerShell,执行以下命令:
注意:你的项目路径里有cd "C:\Users\udbasili\Documents\Programming\Acumen Developers\myportfolio" # 删除依赖、构建缓存,清理npm全局缓存 Remove-Item -Recurse -Force node_modules, .next -ErrorAction SilentlyContinue npm cache clean --force npm install npm run devAcumen Developers这种带空格的文件夹名,所有命令行里引用路径都要加双引号,避免空格把路径截断。 - 更换项目存放目录
直接在非用户目录下建专门的代码文件夹,比如D:\Programming\myportfolio,把项目移过去或者重新执行create-next-app创建项目,彻底绕开有解析bug的C:\Users\udbasili路径段,这个方法最省事,不会反复踩缓存、转义的坑。 - 校验系统环境变量的用户路径
打开「系统属性-高级-环境变量」,找到用户变量里的USERPROFILE、系统变量里的HOMEPATH,确认值是C:\Users\udbasili,如果值里少了udbasili前的反斜杠,手动改对后重启电脑再试。 - 换包管理器规避npm的路径bug
部分旧版本npm在Windows下处理长路径、带空格路径时存在转义缺陷,可以换pnpm重装依赖解决:npm i -g pnpm # 删掉原有node_modules后执行 pnpm i pnpm dev
这类问题不需要修改Next.js配置、不需要改业务代码,本质是运行环境的路径解析问题,别瞎改配置浪费时间。
内容的提问来源于stack exchange,提问作者Udendu Abasili
相关产品推荐
相关产品推荐

