部署Next js app时如何解决vercel "ModuleNotFoundError"
How to solve vercel "ModuleNotFoundError" when deploying Next js app
每当我尝试将我的网站部署到 Vercel 时,我都会收到此 ModuleNotFoundError。我已重命名我的组件和 CSS 模块,但由于某种原因,我不断收到此错误。
有谁知道如何解决这个问题,因为我不知道我哪里出错了?
错误日志截图
您是否推送了仅重命名文件的提交?如果您使用的是不区分大小写的文件系统(通常是 macOS)并且远程使用的是区分大小写的文件系统(基于 Linux 的构建环境)——这可能会导致问题。您可以通过将文件重命名为不同的名称来确认(这样大小写就不是问题了)。
确认一下,运行 next build && next start
在本地工作?
问题出在“styles”文件夹,出于某种原因,vercel 无法找到我的 css 文件的路径。我通过将所有 css 文件(global.css 除外)移动到我的“Components”文件夹(虽然不是最佳选择,但它有效)解决了这个问题。然后我用这段代码创建了一个“jsConfig.json”文件。
{
“编译器选项”:{
"baseUrl": ".",
“路径”:{
"@/components/": ["components/"]
}
}
}
最后,这就是我开始导入 CSS 文件的方式
从“@/components/.module.css”导入样式;
如果您将文件夹或文件的名称更改为小写或大写,例如:从 /Components 更改为 /components
问题应该是因为你远程分支没有更新,而在本地分支中名称已经正确,你的解决方案运行,但是vercel使用linux,区分大小写,所以,发生了 ModuleNotFoundError。
要解决这个问题,你可以把你的folder/file保存在其他地方,然后从项目中删除并提交。提交后,您应该再次复制并粘贴保存在项目中另一个位置的 file/folder 并提交以正确结构推送到 romete 分支。您也可以使用命令“git mv "oldfileOrFolder" "newFileOrFolder",请参阅文档。
每当我尝试将我的网站部署到 Vercel 时,我都会收到此 ModuleNotFoundError。我已重命名我的组件和 CSS 模块,但由于某种原因,我不断收到此错误。
有谁知道如何解决这个问题,因为我不知道我哪里出错了?
错误日志截图
您是否推送了仅重命名文件的提交?如果您使用的是不区分大小写的文件系统(通常是 macOS)并且远程使用的是区分大小写的文件系统(基于 Linux 的构建环境)——这可能会导致问题。您可以通过将文件重命名为不同的名称来确认(这样大小写就不是问题了)。
确认一下,运行 next build && next start
在本地工作?
问题出在“styles”文件夹,出于某种原因,vercel 无法找到我的 css 文件的路径。我通过将所有 css 文件(global.css 除外)移动到我的“Components”文件夹(虽然不是最佳选择,但它有效)解决了这个问题。然后我用这段代码创建了一个“jsConfig.json”文件。 { “编译器选项”:{ "baseUrl": ".", “路径”:{ "@/components/": ["components/"] } } }
最后,这就是我开始导入 CSS 文件的方式 从“@/components/.module.css”导入样式;
如果您将文件夹或文件的名称更改为小写或大写,例如:从 /Components 更改为 /components
问题应该是因为你远程分支没有更新,而在本地分支中名称已经正确,你的解决方案运行,但是vercel使用linux,区分大小写,所以,发生了 ModuleNotFoundError。
要解决这个问题,你可以把你的folder/file保存在其他地方,然后从项目中删除并提交。提交后,您应该再次复制并粘贴保存在项目中另一个位置的 file/folder 并提交以正确结构推送到 romete 分支。您也可以使用命令“git mv "oldfileOrFolder" "newFileOrFolder",请参阅文档。