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

部署至Heroku遇Ruby版本不存在及Bundler更新问题求助

问题解决方案

问题1:Heroku部署提示「ruby-2.6.1不存在」

原因:Heroku官方Ruby构建包已停止对Ruby 2.6.x版本的支持(Ruby 2.6已结束安全维护),因此无法找到该版本。

解决方案(推荐升级Ruby版本)

  1. 修改本地项目配置:
    • 打开Gemfile,将第一行的ruby "2.6.1"改为ruby "3.1.0"(你本地已安装此版本)
    • 更新.ruby-version文件内容为3.1.0
  2. 切换到Ruby 3.1.0环境:
    rbenv local 3.1.0
    ruby -v # 确认输出为ruby 3.1.0开头的版本信息
    
  3. 安装适配的Bundler并重新依赖:
    gem install bundler
    bundle install
    
  4. 提交修改并重新部署:
    git add Gemfile Gemfile.lock .ruby-version
    git commit -m "升级Ruby版本至3.1.0以适配Heroku部署"
    git push heroku main
    

备选方案(不推荐,存在安全风险)

若暂时无法升级Ruby,可指定支持Ruby 2.6.x的旧版Heroku Ruby构建包(需自行查找官方历史版本中支持2.6的buildpack标签),执行命令:

heroku buildpacks:set https://github.com/heroku/heroku-buildpack-ruby#对应标签版本号

注意:旧版构建包不再接收安全更新,长期使用会带来安全隐患。


问题2:gem update bundler失败,提示版本不兼容

原因:Bundler 2.5.6要求Ruby版本≥3.0.0,而你当前使用的Ruby 2.6.1不满足要求。

解决方案

安装Ruby 2.6.1兼容的Bundler版本:

gem install bundler -v "~> 2.2"

之后使用该版本执行bundle命令:

bundle _2.2.x_ install # 将x替换为实际安装的具体版本号,比如2.2.33

若需要锁定Bundler版本,可在Gemfile中添加:

gem 'bundler', '~> 2.2'

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 13:43:14