Как я могу выбрать версию Ruby на Heroku? - PullRequest
20 голосов
/ 01 сентября 2010

Я использую синтаксис Ruby 1.9.x в своем приложении на Rails 3, но после отправки его в Heroku происходит сбой из-за более старой версии Ruby (1.8).Как я могу это контролировать?

Ответы [ 3 ]

34 голосов
/ 01 сентября 2010

Текущий стек Heroku, Cedar, использует 1.9.2 по умолчанию. Cedar также поддерживает , указывая версию Ruby в вашем Gemfile . В настоящее время 1.9.2 и 1.9.3 являются допустимыми параметрами .

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

Более подробная информация доступна в статье поддержки Ruby: https://devcenter.heroku.com/articles/ruby-support


Если вы используете Aspen или Bamboo, вы можете переключиться на 1.9.2 с помощью команды stack:migrate:

$ heroku stack:migrate bamboo-mri-1.9.2

В настоящее время вы не можете автоматически мигрировать в стек Cedar, но для этого есть руководство: https://devcenter.heroku.com/articles/cedar-migration

4 голосов
/ 25 мая 2012

Теперь вы можете явно указать версию для Ruby в Heroku .

Просто настройте Gemfile как

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

# Gems go here
0 голосов
/ 30 января 2016

Я хотел использовать версию, которую я уже определил в файле .ruby-version, поэтому я создал пакет сборки, который можно использовать до heroku-buildpack-ruby , который вставляет версию из .ruby -версия в Gemfile. Также поддерживаются версии без патча или псевдонимов.

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

Таким образом, вы можете определить свою версию только в одном месте.

...