Node.js项目本地正常,Vercel部署后模块找不到错误求助
解决Vercel部署Node.js项目时
Cannot find module '../sdam/server_selection'的问题 清理本地依赖缓存并重新安装
本地执行以下命令,彻底清除旧依赖和锁定文件,重新安装后提交更新的lock文件到仓库,再触发Vercel部署:rm -rf node_modules package-lock.json yarn.lock npm install锁定mongodb与mongoose的兼容版本
直接在package.json中指定mongodb的具体稳定版本,避免嵌套依赖版本异常。比如根据mongoose版本匹配对应的mongodb版本:"dependencies": { "mongodb": "4.17.2", "mongoose": "6.12.0" }安装后提交修改,重新部署。
检查Vercel构建配置
进入Vercel项目的「Build & Development Settings」,确认「Install Command」设置为npm install(或对应包管理命令),避免自定义命令导致依赖安装不完整。校验文件路径大小写
Vercel运行在Linux环境,严格区分文件大小写。检查项目中../sdam/server_selection对应的文件路径和文件名是否与仓库中完全一致,比如server_selection.js是否存在,路径拼写无大小写错误。强制Vercel重新构建
在Vercel控制台找到对应部署记录,点击「Redeploy」并取消勾选「Use existing build cache」,强制重新安装所有依赖,排除缓存导致的依赖缺失问题。
内容的提问来源于stack exchange,提问作者Ali Shah
相关产品推荐
相关产品推荐

