You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

部署Express应用至Vercel时遇文件不存在错误求助

解决Express部署Vercel时semver/preload.js不存在的错误

针对你遇到的Error: File /vercel/path1/node_modules/simple-update-notifier/node_modules/semver/preload.js does not exist错误,以下是几个实测有效的解决方法:

  • 强制锁定semver版本
    这个问题大概率是simple-update-notifier依赖的semver版本存在兼容性问题,或安装过程中出现版本不一致。可以在项目的package.json中强制指定semver的稳定版本:

    • 若使用npm,添加overrides字段:
      "overrides": {
        "semver": "7.5.4"
      }
      
    • 若使用yarn,添加resolutions字段:
      "resolutions": {
        "semver": "7.5.4"
      }
      

    重新安装依赖后再部署到Vercel。

  • 禁用update-notifier功能
    simple-update-notifier用于包更新提醒,生产环境完全不需要该功能。可通过设置环境变量禁用:
    在Vercel项目的「Settings」→「Environment Variables」中添加NO_UPDATE_NOTIFIER=true,再重新触发部署。

  • 清理Vercel远程缓存
    Vercel远程缓存可能残留损坏的依赖文件,部署时在「Advanced Settings」里勾选「Skip Cache」选项,强制重新安装所有依赖。

  • 调整Vercel构建配置
    确保Vercel正确识别你的Express项目,在项目根目录创建vercel.json文件,配置示例(适合纯后端Express项目):

    {
      "buildCommand": "echo 'Build completed'",
      "functions": {
        "api/**/*.js": {
          "runtime": "@vercel/node@20"
        }
      }
    }
    

    若你的Express入口文件为server.js或app.js,可额外配置routes指向对应文件。

内容的提问来源于stack exchange,提问作者Sudhanshu Mittal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 21:05:11