Vercel部署报错:.env.staging文件找不到问题求助
问题根源
你当前的核心问题是:Vercel构建时会从你的Git仓库拉取代码,但你已经把.env.staging从仓库中移除,而你配置的构建命令env-cmd -f .env.staging react-scripts build依赖这个本地文件,因此Vercel找不到文件就会报错。
具体原因拆解
- 你之前误提交.env文件后又移除,这会导致仓库的最新版本中不存在
.env.staging,Vercel部署时拉取的是仓库最新代码,自然找不到该文件。 - 你在Vercel平台添加的环境变量,和
env-cmd读取本地.env文件是两种独立的环境变量注入方式,二者互不替代。你当前的构建命令仍依赖本地.env文件,所以Vercel平台的变量并未生效。
解决办法(二选一即可)
方案1:改用Vercel平台环境变量(推荐)
既然已经在Vercel配置了环境变量,无需再依赖本地.env文件,直接修改Vercel的构建命令为:
react-scripts build
React项目在Vercel部署时会自动读取平台配置的环境变量,注意要确保Vercel上的环境变量前缀为REACT_APP_(React要求自定义环境变量必须添加该前缀,否则编译时会被忽略)。
方案2:重新将.env.staging加入仓库(不推荐,存在安全风险)
如果一定要用env-cmd读取本地文件,需要:
- 将
.env.staging放回项目根目录,同时修改.gitignore,避免后续误删(但.env文件通常包含敏感信息,不建议提交到公开仓库)。 - 将该文件提交到Git仓库,确保Vercel拉取代码时能找到它。
内容的提问来源于stack exchange,提问作者Richi
相关产品推荐
相关产品推荐

