[Heroku] Ruby のバージョンを変更する

Tadashi Shigeoka ·  Sun, December 11, 2011

Heroku で使用する Ruby のバージョンを変更する方法を調べたのでご紹介します。

Heroku

Herokuで使用しているRubyのバージョンを確認する

まず、現在 Heroku で使っている Ruby のバージョンを heroku stack コマンドで確認します。

$ heroku stack
  aspen-mri-1.8.6
* bamboo-mri-1.9.2
  bamboo-ree-1.8.7
  cedar (beta)

Herokuで使用するRubyのバージョンを変更する

Herokuで使用するRubyのバージョンを変更するには、heroku stack:migrateコマンドを使います。

今回は 1.9.2 から、1.8.7 に変更するので、bamboo-ree-1.8.7 を指定します。

$ heroku stack:migrate bamboo-ree-1.8.7
-----> Preparing to migrate redmine-bkr
       bamboo-mri-1.9.2 -> bamboo-ree-1.8.7

       NOTE: You must specify ALL gems (including Rails) in manifest

       Please read the migration guide:
       http://devcenter.heroku.com/articles/bamboo

-----> Migration prepared.
       Run 'git push heroku master' to execute migration.

heroku stack:migrate を実行後の時点では、Rubyのバージョン変更が予約された状態になります。

実際に、Rubyのバージョンが変更されるのは、次に git push したときになります。

このとき、何かファイルを編集しないと、git push できないので、適当なファイルに改行を追加するなどの編集が必要になります。

Heroku に git push すると、ログの中に以下のような表示が含まれます。

$ git push heroku master

-----> Heroku receiving push
-----> Migrating from bamboo-mri-1.9.2 to bamboo-ree-1.8.7

-----> Migration complete, your app is now running on bamboo-ree-1.8.7

 

再び、Herokuで使用しているRubyのバージョンを確認する

最後に、heroku stack コマンドで Ruby のバージョンを確認して、ちゃんと変更されていれば完了です。

$ heroku stack
  aspen-mri-1.8.6
  bamboo-mri-1.9.2
* bamboo-ree-1.8.7
  cedar (beta)

以上、Heroku で使用する Ruby のバージョンを変更したい、現場からお送りしました。