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

Heroku部署Ruby on Rails应用报错:RubyGems版本不兼容求助

解决Heroku推送Ruby on Rails应用时RubyGems版本不兼容问题

核心问题

Heroku当前使用的RubyGems 3.1.6版本,低于ffi-1.17.0-x86_64-linux要求的≥3.3.22版本,导致依赖安装失败。

解决步骤

1. 锁定RubyGems版本到符合要求的版本

在Gemfile中添加指定RubyGems更新包的代码:

# Gemfile新增该行
gem 'rubygems-update', '3.3.22'

然后在本地执行以下命令:

bundle install
bundle update rubygems-update
update_rubygems

最后重新生成锁文件并指定平台:

bundle lock --add-platform x86_64-linux --add-platform ruby

2. 调整Heroku的Ruby Buildpack版本

通过Heroku CLI设置支持更高RubyGems版本的Ruby Buildpack(需确认所选buildpack版本包含的RubyGems≥3.3.22):

heroku buildpacks:set heroku/ruby#v242

3. 降级ffi版本绕开版本要求

如果不需要ffi-1.17.0的特定功能,直接在Gemfile中指定更低版本的ffi:

# Gemfile修改该行
gem 'ffi', '< 1.17.0'

执行bundle install后重新生成锁文件,再推送代码至Heroku。

4. 清空Heroku缓存

缓存可能残留旧依赖,执行以下命令清除:

heroku repo:purge_cache -a 你的应用名称

之后重新推送代码即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 07:42:37