部署Ruby on Rails应用至Heroku出现H10错误求助
解决Heroku部署Rails应用的H10错误
H10是Heroku应用启动失败的通用错误码,以下是针对性排查和修复步骤:
1. 获取完整错误日志
先拿到详细日志才能定位根因,执行命令:
heroku logs --tail
日志会显示应用启动时的具体报错,比如依赖缺失、数据库连接失败等。
2. 补全生产环境静态资源依赖
你的Gemfile缺少Heroku处理静态资源的必要gem,修改production组:
group :production do gem "pg", "1.3.5" # Rails 4及以下用这个 gem "rails_12factor", "0.0.3" # 如果是Rails 5+,替换成下面这个 # gem "rails_serve_static_assets", "0.0.5" end
接着执行:
bundle install --without production git add Gemfile Gemfile.lock git commit -m "添加生产环境静态资源依赖" git push heroku main
3. 执行数据库迁移
Heroku生产环境需要初始化数据库,运行:
heroku run rails db:migrate
哪怕是hello_app这类简单应用,执行该命令也能确保数据库状态正常。
4. 配置Procfile(可选但推荐)
在项目根目录手动创建Procfile文件,指定Heroku启动命令:
web: bundle exec rails server -p $PORT
提交并推送:
git add Procfile git commit -m "添加Heroku启动配置文件" git push heroku main
5. 指定Ruby版本
Heroku需要明确你的Ruby版本,在Gemfile最顶部添加:
ruby "3.0.0" # 替换成你Cloud9开发环境使用的Ruby版本
执行bundle install后提交推送。
6. 重启应用
完成所有修改后,重启Heroku应用确保生效:
heroku restart
内容的提问来源于stack exchange,提问作者wired for freedom
相关产品推荐
相关产品推荐

