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

Rails6应用部署Heroku失败:Ruby版本不匹配问题求助

Rails6部署Heroku时Ruby版本不匹配问题解决

问题概述

将Rails6应用部署到Heroku后,构建成功但应用立即崩溃。执行heroku run rake db:migrate时出现版本不匹配错误:

Your Ruby version is 2.7.0, but your Gemfile specified 2.6.10

本地环境中,Gemfile已指定ruby '2.6.10',Gemfile.lock的Ruby版本为2.6.10p210,本地ruby -v返回一致版本,但Heroku仍使用2.7.0。

解决步骤

  • 添加.ruby-version文件:在项目根目录创建.ruby-version文件,内容仅一行:2.6.10。提交该文件并推送到Heroku,确保Heroku明确读取指定的Ruby版本。
  • 设置官方Ruby Buildpack:执行命令heroku buildpacks:set heroku/ruby,确保项目使用Heroku官方的Ruby构建包,避免版本识别异常。
  • 重新部署并迁移:推送修改后的代码到Heroku,然后执行heroku run rake db:migrate完成数据库迁移,最后执行heroku restart重启应用。

说明

  • package.json中的start脚本仅用于启动应用,不会影响Ruby版本,无需修改。
  • Procfile不需要指定Ruby版本,版本控制主要依赖Gemfile和.ruby-version文件。Heroku默认会优先读取.ruby-version的版本配置,确保与本地环境一致。

内容的提问来源于stack exchange,提问作者Peter T. Walker

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 00:36:25