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

Rails 5部署Heroku报production环境缺失secret_key_base错误如何解决

问题结论

本地MySQL版本冲突和当前Heroku部署报错完全无关,Heroku运行环境与本地开发环境相互独立,本地启动的MySQL服务不会影响Heroku上的应用运行。

报错的真实可能原因及解决方法
  • 可能性1:修改后的config/secrets.yml未提交推送到Heroku
    你本地的secrets.yml已经配置了生产环境从环境变量读取SECRET_KEY_BASE,但如果没有将改动提交到Git并推送到Heroku,Heroku上运行的仍是旧配置文件,无法读取到对应规则。
    解决方法:执行git status检查secrets.yml是否有未提交的改动,提交后执行git push heroku 你的分支名重新部署即可。
  • 可能性2:config/secrets.yml被纳入.gitignore规则
    部分项目会默认将secrets.yml加入Git忽略列表,避免敏感信息提交到代码仓库,这会导致推送到Heroku的代码包中没有该配置文件,Rails无法读取生产环境的secret_key_base配置就会报错。
    解决方法:查看项目根目录的.gitignore文件,移除/config/secrets.yml对应的忽略规则,提交改动后重新推送到Heroku。
  • 可能性3:设置环境变量后未重启Heroku应用实例
    用heroku config:set配置环境变量后,需要重启Heroku的应用dyno才能加载新的环境变量,运行中的应用仍会读取旧的环境变量值。
    解决方法:执行heroku restart重启应用,等待重启完成后再访问测试。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 15:27:03