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

Vercel部署报错Module Not Found但本地正常,是否为构建缓存问题?

问题根因

  • 你直接在package.json中引入GitHub仓库作为依赖,大部分前端包的GitHub仓库默认不会提交构建后的dist产物,包配置的main字段指向的文件在仓库中不存在,导致安装后无法被webpack识别
  • 你配置了postinstall为lerna bootstrap,Vercel的默认依赖安装逻辑可能和本地的lerna依赖管理逻辑不一致,出现依赖未正确安装到对应目录的问题
  • 仅用vercel --force只能清除单次cli触发部署的缓存,绑定git自动触发的部署仍会复用之前的全局构建缓存

解决方案

按优先级从高到低尝试:

  1. 清除Vercel全局构建缓存
    登录Vercel控制台进入对应项目,找到「部署」tab右上角的「更多」按钮,选择「清除构建缓存」后重新触发部署,该操作会清空所有历史构建缓存,强制重新拉取所有依赖。
  2. 修正fork包的入口配置
    进入你fork的react-headroom仓库,检查package.json中的main字段:
  • 如果指向的是dist/react-headroom.js这类构建产物路径,你需要在本地运行该包的构建命令(通常是npm run build),将生成的dist目录提交到你的GitHub仓库
  • 也可以直接把main字段修改为指向源码入口,比如src/index.js,跳过构建步骤
  1. 修改Vercel安装命令
    在Vercel项目设置的「构建与开发设置」中,将「安装命令」修改为npm install --force,强制跳过缓存校验重新安装所有依赖。
  2. 兜底方案:直接引入源码
    将fork后的react-headroom源码完整复制到你项目的src/lib/react-headroom目录下,把代码中所有import Headroom from 'react-headroom'的语句修改为相对路径导入,完全绕过npm依赖安装环节,不会再出现模块找不到的问题。

内容的提问来源于stack exchange,提问作者Eduardo Oliveira

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 07:09:02