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

Heroku部署Ruby 3.0.4失败:为何仍尝试安装Ruby 2.7.0?

Heroku部署Ruby 3.0.4失败,自动尝试安装2.7.0的排查方案

以下是针对性的排查和解决步骤:

  • 检查当前构建包列表
    先执行命令查看已配置的构建包:

    heroku buildpacks --app myapp
    

    确认是否有非官方Ruby构建包或其他可能触发Ruby版本检测的构建包存在。如果heroku/ruby不在列表中,说明Heroku可能在使用默认隐式构建逻辑,或者其他构建包干扰了版本检测。

  • 重新添加并优先官方Ruby构建包
    手动添加官方Ruby构建包并设置为最高优先级,避免其他构建包先处理环境:

    heroku buildpacks:add heroku/ruby --app myapp
    heroku buildpacks:promote heroku/ruby --app myapp
    
  • 严格验证部署代码中的版本配置
    确保部署分支的代码满足:

    • .ruby-version文件已提交到Git,内容为3.0.4,未被.gitignore排除
    • Gemfile开头明确声明ruby '3.0.4',无注释或拼写错误
    • Gemfile.lock中的RUBY VERSION字段为ruby 3.0.4p208(对应具体补丁版本),且该文件已提交
  • 清除Heroku构建缓存
    旧缓存可能残留历史版本配置,执行清除后重新部署:

    heroku builds:cache:purge --app myapp
    
  • 确认栈兼容性
    检查当前使用的Heroku栈:

    heroku stack --app myapp
    

    如果是Heroku-18,切换到Heroku-20(Ruby 3.0.4仅在Heroku-20及以上栈支持):

    heroku stack:set heroku-20 --app myapp
    
  • 移除冲突的自定义环境变量
    Heroku官方优先读取.ruby-version和Gemfile中的版本声明,自定义CUSTOM_RUBY_VERSION可能引发冲突,执行移除:

    heroku config:unset CUSTOM_RUBY_VERSION --app myapp
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 18:05:38