2010-08-31 76 views
20

我在Rails 3應用程序中使用了Ruby 1.9.x語法,但在將其推送到Heroku後,由於較早的Ruby版本(1.8)而崩潰。我如何控制它?如何在Heroku上選擇Ruby版本?

+0

您現在可以指定希望在Cedar上運行的Ruby版本:http://blog.heroku.com/archives/2012/5/9/multiple_ruby_version_support_on_heroku/ – Schneems 2012-06-11 19:57:48

回答

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


如果您正在使用阿斯彭,竹,您可以通過使用stack:migrate命令切換到1.9.2

$ heroku stack:migrate bamboo-mri-1.9.2 

您目前無法自動遷移到Cedar堆棧,但有如何操作的指導:https://devcenter.heroku.com/articles/cedar-migration

0

我想用我已經在.ruby-version文件中定義的版本,所以我結束了創建一個可前Heroku的-buildpack-紅寶石使用的buildpack將版本從.ruby版本注入到Gemfile。它也支持沒有補丁或別名的版本。

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

這種方式,您都可以定義只在一個地方你的版本。