DIMENSION 2.00

/ Nexus / Mac / Ubuntu / カメラ / beatmania / 猫 / 株 / 情報蒐集 /

通常使用するRubyのバージョンを変更する - Ubuntu 12.04

Ubuntu 12.04ではRubyのバージョンは1.8を使用する。
これをupdate-alternativesを使って、1.9に変更する方法を紹介。
なお、Rubyに限らずPerlPythonなども同じ方法で、通常使うバージョンの変更ができる。


登録されているバージョンの確認

$ update-alternatives --list ruby
/usr/bin/ruby1.8
/usr/bin/ruby1.9.1


現在の優先度を確認すると、ruby1.8になってる。

$ update-alternatives --display ruby
ruby - 自動モード
  リンクは現在 /usr/bin/ruby1.8 を指しています
/usr/bin/ruby1.8 - 優先度 50
  スレーブ erb: /usr/bin/erb1.8
  スレーブ erb.1.gz: /usr/share/man/man1/erb1.8.1.gz
......
現在の '最適' バージョンは '/usr/bin/ruby1.8' です。


優先度を変更する。ruby1.9.1に変更したいので、"2"を押してEnter

$ sudo update-alternatives --config ruby
alternative ruby (/usr/bin/ruby を提供) には 2 個の選択肢があります。

  選択肢    パス              優先度  状態
------------------------------------------------------------
* 0            /usr/bin/ruby1.8     50        自動モード
  1            /usr/bin/ruby1.8     50        手動モード
  2            /usr/bin/ruby1.9.1   10        手動モード

現在の選択 [*] を保持するには Enter、さもなければ選択肢の番号のキーを押してください: 2
update-alternatives: /usr/bin/ruby (ruby) を提供するために 手動モード で /usr/bin/ruby1.9.1 を使います。

変更後は、$ update-alternatives --display ruby で確認してみる。


続いて、gemのバージョンも揃えておく。同じようにgem1.9.1の"2"を選んでやる

$ sudo update-alternatives --config gem 
alternative gem (/usr/bin/gem を提供) には 2 個の選択肢があります。

  選択肢    パス             優先度  状態
------------------------------------------------------------
* 0            /usr/bin/gem1.8     180       自動モード
  1            /usr/bin/gem1.8     180       手動モード
  2            /usr/bin/gem1.9.1   10        手動モード

現在の選択 [*] を保持するには Enter、さもなければ選択肢の番号のキーを押してください: 2
update-alternatives: /usr/bin/gem (gem) を提供するために 手動モード で /usr/bin/gem1.9.1 を使います。


gem1.9.1になったか確認してみる。

$ update-alternatives --display gem    
gem - 手動モード
  リンクは現在 /usr/bin/gem1.9.1 を指しています
/usr/bin/gem1.8 - 優先度 180
  スレーブ bash_completion_gem: /etc/bash_completion.d/gem1.8
  スレーブ gem.1.gz: /usr/share/man/man1/gem1.8.1.gz
/usr/bin/gem1.9.1 - 優先度 10
  スレーブ bash_completion_gem: /etc/bash_completion.d/gem1.9.1
  スレーブ gem.1.gz: /usr/share/man/man1/gem1.9.1.1.gz
現在の '最適' バージョンは '/usr/bin/gem1.8' です。


rubyがどのバージョンを使うかは、/etc/alternatives/rubyを確認すると /usr/bin/ruby1.8 へのシンボリックリンクになっているが、単にシンボリックリンクを張り替えるだけでは、アップデートのタイミングで1.8に戻ってしまうなどの支障が出ることに注意。
Ubuntuの作法として、シンボリックリンクよりも、update-alternativesコマンドを使う。


関連記事
visudoするとnanoで開いちゃうのを何とかする - DIMENSION 2.00