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

Heroku部署Review App时忽略app.json中addons配置的问题求助

解决Heroku Review App未创建指定Addons的问题

核心问题分析

你遇到的情况是:Review App仅自动创建了heroku-postgresql和autoidle,但未加载顶层配置里的papertrail和heroku-redis;同时即使移除顶层的postgres配置,它仍会被自动添加。这主要和Heroku Review App的addon继承规则、自动依赖检测以及addon配置格式有关。

解决建议

  • 显式在Review环境配置中声明所有需要的Addons
    Heroku Review App的顶层addons并非完全默认继承到review环境,尤其是当你在environments.review里单独配置了addons时,需要把所有需要的addons都列进去,而不是只加autoidle:hobby。示例配置:

    {
      "addons": [
        "heroku-postgresql:14",
        "heroku-redis:hobby-dev",
        "papertrail:choklad"
      ],
      "environments": {
        "review": {
          "addons": [
            "autoidle:hobby",
            "heroku-postgresql:14",
            "heroku-redis:hobby-dev",
            "papertrail:choklad"
          ]
        }
      }
    }
    

    注意:必须指定addon的具体计划层级(比如heroku-redis:hobby-dev而非只写heroku-redis),Heroku无法自动推断免费/基础计划。

  • 检查Addon计划的合法性
    确认你使用的addon计划存在且对Review App可用:

    • papertrail的免费计划是choklad,不要只写papertrail
    • heroku-redis的免费基础计划是hobby-dev,需明确指定
  • 查看Review App部署日志定位错误
    进入Heroku Dashboard找到对应的Review App,查看部署日志,里面会记录addon创建失败的具体原因(比如权限不足、计划不存在、账户额度限制等),这是最直接的排查手段。

  • 处理postgres自动添加的问题
    Heroku会自动检测项目中的数据库依赖(比如package.json里的pg、requirements.txt里的psycopg2),自动添加postgres addon。如果想禁用这个行为,可以在app.json的review环境中添加:

    "environments": {
      "review": {
        "env": {
          "DISABLE_DATABASE_ENVIRONMENT_CHECK": "1"
        },
        "addons": [
          // 只加你需要的addons,不包含heroku-postgresql
        ]
      }
    }
    

    不过如果你的项目确实需要postgres,建议保留显式配置,避免自动添加的版本不符合需求。

  • 验证app.json的语法正确性
    使用Heroku CLI命令heroku apps:validate -f app.json检查配置文件是否有语法错误,格式错误可能导致部分addon配置被忽略。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 12:12:50