NextJS项目本地运行构建正常,Vercel部署时出现Module not found错误求助
Next.js部署Vercel出现Module not found的解决思路
原因1:依赖包放错位置
本地执行npm run dev或npm run build时,会安装所有依赖(包括devDependencies内的包),但Vercel生产环境构建默认只安装dependencies中的包。如果你的代码里引用了devDependencies里的模块,就会触发找不到模块的错误。
解决步骤:
- 打开项目根目录的
package.json,核对Vercel日志里报错的模块是否在devDependencies字段中 - 如果是,将该模块移到
dependencies字段下,提交代码后重新部署
原因2:文件名大小写不匹配
Windows/macOS系统默认不区分文件名大小写,但Vercel使用的Linux环境严格区分大小写。比如代码里写import Layout from './layout',但实际文件是Layout.js,本地能正常解析,Vercel构建时就会找不到对应模块。
解决步骤:
- 根据Vercel日志提示的缺失模块路径,检查本地对应文件的实际大小写
- 统一代码中的导入路径和实际文件名的大小写,提交修改后重新部署
原因3:路径别名配置问题
如果项目中使用了@/components/xxx这类自定义路径别名,但未在jsconfig.json或tsconfig.json中正确配置baseUrl和paths,本地编辑器可能通过插件兼容解析,但Vercel构建时无法识别这类别名。
解决步骤:
- 检查项目根目录的
jsconfig.json或tsconfig.json,确认baseUrl和paths的配置规则正确 - 要么修正别名配置,要么改用标准的相对路径进行模块导入
内容的提问来源于stack exchange,提问作者Maxterino
相关产品推荐
相关产品推荐

