Linux
CentOS
Ubuntu

alternativesを使ってrubyのバージョンを切り替える

More than 5 years have passed since last update.

最近、Amazon Linuxを使っています。

標準のruby1.8のほか、ruby1.9のパッケージがあるのはいいんだけれど、alternativesの設定が見当たらなかった。。。

というわけで、alternativesの設定をしてバージョンを切り替えるようにしてみた。といっても基本的に切り替えないけどね。。。

# ruby1.9を入れる

$ sudo yum install -y ruby19 rubygems19

# ruby1.9を入れてもそのままだと有効にならない
$ ruby -v
ruby 1.8.7 (2012-10-12 patchlevel 371) [x86_64-linux]

# alternativesにはなにもない。。。
$ sudo update-alternatives --display ruby

# なのでaltenativesに自分で登録する
$ sudo update-alternatives \
--install /usr/bin/ruby ruby /usr/bin/ruby1.8 0 \
--slave /usr/bin/gem gem /usr/bin/gem1.8
$ sudo update-alternatives \
--install /usr/bin/ruby ruby /usr/bin/ruby1.9 1 \
--slave /usr/bin/gem gem /usr/bin/gem1.9

# 無事登録されました
$ sudo update-alternatives --display ruby
ruby -ステータスは自動です。
リンクは現在 /usr/bin/ruby1.9 を指しています。
/usr/bin/ruby1.8 - 優先項目 0
スレーブ gem: /usr/bin/gem1.8
/usr/bin/ruby1.9 - 優先項目 1
スレーブ gem: /usr/bin/gem1.9
現在の「最適」バージョンは /usr/bin/ruby1.9 です。

上記はamazon linuxでやってますが、他でも基本的にはいっしょです。ubuntuあたりだとalternativesの設定はパッケージといっしょに入ってくれるかな・・・?