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 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 stack コマンドで Ruby のバージョンを確認して、ちゃんと変更されていれば完了です。
$ heroku stack
aspen-mri-1.8.6
bamboo-mri-1.9.2
* bamboo-ree-1.8.7
cedar (beta)
以上、Heroku で使用する Ruby のバージョンを変更したい、現場からお送りしました。