如何在Heroku上选择Ruby版本?

时间:2010-08-31 23:29:50

标签: ruby-on-rails heroku ruby-1.9

我在我的Rails 3应用程序中使用了Ruby 1.9.x语法,但在将其推送到Heroku后,由于旧的Ruby版本(1.8)而崩溃。我该如何控制它?

3 个答案:

答案 0 :(得分:34)

Heroku当前的堆栈Cedar默认使用1.9.2。雪松还支持specifying the Ruby version in your Gemfile。目前,1.9.2 and 1.9.3 are valid options

# Gemfile
source "https://rubygems.org"
ruby "1.9.3"
...

Ruby支持文章中提供了更多详细信息:https://devcenter.heroku.com/articles/ruby-support


如果您当前正在使用Aspen或Bamboo,则可以使用stack:migrate命令切换到1.9.2:

$ heroku stack:migrate bamboo-mri-1.9.2

目前您无法自动迁移到Cedar堆栈,但有关于如何执行此操作的指南:https://devcenter.heroku.com/articles/cedar-migration

答案 1 :(得分:4)

您现在可以explicitly specify a Ruby version on Heroku

只需设置Gemfile即可

# Gemfile
source "https://rubygems.org"
ruby "1.9.3"

# Gems go here

答案 2 :(得分:0)

我想使用我已经在.ruby-version文件中定义的版本,所以我最终创建了一个可以在 heroku-buildpack-ruby 之前使用的buildpack,它可以从.ruby-version进入Gemfile。它还支持没有补丁或别名的版本。

https://github.com/platanus/heroku-buildpack-ruby-version

这样您就可以只在一个地方定义您的版本。