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

Rails应用推送Heroku失败:Bundler平台不匹配问题求助

解决Rails推Heroku时Bundler平台不匹配问题

我之前也碰到过一模一样的Bundler平台不匹配问题,结合你的报错信息和环境情况,给你几个针对性的解决步骤:

1. 让Heroku正确识别你指定的Ruby版本

你Gemfile里写了ruby '2.5'但Heroku还是用2.3.7,大概率是Heroku没正确读取到版本声明。解决方法:

  • 在项目根目录创建一个名为.ruby-version的文件,里面只写一行:2.5.0
  • 把Gemfile里的Ruby版本声明改成更精确的写法:ruby '2.5.0'
    这样Heroku会优先读取.ruby-version文件的版本,确保使用你需要的Ruby 2.5.0。

2. 修复Gemfile.lock的平台配置

你的bundle平台列表为空是关键问题,这说明Gemfile.lock里没有记录兼容的平台信息。执行以下命令更新:

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

这两个命令会把Heroku需要的平台添加到Gemfile.lock里,让Bundler知道你的gem兼容这些平台。

3. 提交所有修改并重新推送

把以下文件都添加到Git并提交:

git add Gemfile Gemfile.lock .ruby-version
git commit -m "Fix Ruby version and Bundler platform issues"
git push heroku master

额外排查点

如果还是不行,可以检查Bundler版本:Heroku用的是1.15.2,你本地可以安装对应版本的Bundler再重新生成锁文件:

gem install bundler -v 1.15.2
bundle _1.15.2_ install

然后重新提交Gemfile.lock再推送。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 08:47:40