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

Rails 8.0(Ruby 3.2.2)部署至Heroku失败求助

问题分析与解决方案

问题根源

从错误日志可明确核心问题是Ruby版本不兼容:

  • Rails 8.0.0依赖的activesupport要求Ruby版本 >=3.2.0
  • Heroku自动选用了Ruby 3.1.6,原因是你的Gemfile.lock未指定Ruby版本,导致Heroku使用当前栈的默认Ruby版本

解决方案

1. 在Gemfile中明确指定Ruby版本

在Gemfile最顶部添加一行,指定开发时使用的Ruby版本:

ruby "3.2.2"

2. 更新Gemfile.lock并提交变更

执行以下命令更新锁文件,确保Ruby版本信息被写入:

bundle update --ruby
git add Gemfile Gemfile.lock
git commit -m "指定Ruby 3.2.2版本,适配Rails 8"

3. 重新部署到Heroku

再次执行部署命令:

git push heroku HEAD:master

补充说明

尽管Heroku文档提到2.5+版本会默认匹配,但Rails 8对Ruby版本有更高要求,必须显式指定才能让Heroku加载正确的Ruby环境,避免依赖冲突。

内容的提问来源于stack exchange,提问作者Sina R.

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.16 01:18:11