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

Heroku推送报错 Firefox应用编译失败导致推送被拒如何解决

问题根因

报错核心原因是你配置了两个功能完全重叠的Firefox相关构建包:

  • 你添加的集成Firefox+Geckodriver构建包本身已经内置了匹配版本的Firefox浏览器与驱动,构建阶段会自动将Firefox二进制文件部署到指定目录
  • 你额外添加的独立Firefox构建包会重复执行Firefox下载、解压、部署到同一路径的操作,两个构建包顺序执行时,后执行的独立Firefox构建包尝试移动文件到目标目录时,发现目录已经被前一个构建包写入了内容,触发Directory not empty错误,直接导致构建被拒绝。
修复操作步骤
  1. 删除冗余的独立Firefox构建包,执行命令:
heroku buildpacks:remove buitron/firefox-buildpack -a hydrogen-gas
  1. 校验构建包顺序,执行heroku buildpacks -a hydrogen-gas查看已配置的构建包列表,需要保证顺序为:
    • 第一位:官方Python构建包
    • 第二位:集成Firefox+Geckodriver构建包
      如果顺序不符合要求,执行heroku buildpacks:add --index 目标序号 对应构建包名称调整即可。
  2. 清除历史构建缓存,避免残留旧文件干扰新的构建流程:
heroku plugins:install heroku-builds
heroku builds:cache:purge -a hydrogen-gas
  1. 重新执行推送命令完成部署:
git push heroku master
补充说明

部署完成后代码里初始化Selenium的Firefox驱动时,不需要手动指定Firefox二进制文件或者geckodriver的路径,集成构建包会自动将相关路径写入Heroku环境变量,Selenium可以直接识别调用。

内容的提问来源于stack exchange,提问作者Emi Buliga

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.01 02:45:58