2013-03-06

RVM で複数バージョンの Ruby をインストール

RVM (Ruby enViroment Manager) を使うと、Ruby のバージョン切り替え及び gem の環境切り替えができると聞いたので、インストール・メモと利用方法のメモ。

以下のサイトを参考にした。

インストールでハマる

apt-get でインストールできるかと思って試したら、どうもパッケージが見つからない。

$ rvm
プログラム 'rvm' はまだインストールされていません。 次のように入力することでインストールできます:
sudo apt-get install ruby-rvm
$ sudo apt-get install ruby-rvm
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
E: ruby-rvm のパッケージが見つかりません

ふふふ、ステキ (泣)。

インストール

» Installing Ruby RVM on Ubuntu 12.10 Obfuscated Reality を参考にインストール。まずは必要とされるパッケージを念のためインストール。

$  sudo apt-get install libxslt1.1 libxslt1-dev xvfb build-essential git-core curl libreadline-dev libyaml-dev libsqlite3-dev libgdbm-dev libffi-de libssl-dev

その後、rvm のインストール・コマンドを実行。

$ \curl -L https://get.rvm.io | bash -s stable --ruby

最新版 Ruby と各種必須ツール (らしきもの) のインストールが行なわれる。システム・インストールではなく、ユーザー・インストールになるらしい。インストール先は ~/.rvm/ 以下。インストールが終わると、次の様な文言が現れる

* To start using RVM you need to run `source ~/.rvm/scripts/rvm` in all your open shell windows, in rare cases you need to reopen all shell windows.

毎回コマンドを実行するのは面倒なので .bashrc に上記コマンドを書き込んでおく。

source $HOME/.rvm/scripts/rvm

Ruby の確認

インストールされた Ruby を確認する。

$ rvm list

rvm rubies

=* ruby-2.0.0-p0 [ i686 ]

# => - current
# =* - current && default
#  * - default

ruby-2.0.0-p0 がインストールされてた。

一応確認。

$ ls -F ~/.rvm/rubies/
default@  ruby-2.0.0-p0/

Ruby 1.9.* のインストール

最新の Ruby では困ることもあるので、枯れた Ruby も入れておく。

まずは rvm でインストール可能な ruby のバージョン確認。

$ rvm list known
# MRI Rubies
[ruby-]1.8.6[-p420]
[ruby-]1.8.7[-p371]
[ruby-]1.9.1[-p431]
[ruby-]1.9.2[-p320]
[ruby-]1.9.3-p125
[ruby-]1.9.3-p194
[ruby-]1.9.3-p286
[ruby-]1.9.3-p327
[ruby-]1.9.3-p362
[ruby-]1.9.3-p374
[ruby-]1.9.3-p385
[ruby-]1.9.3-[p392]
[ruby-]1.9.3-head
[ruby-]2.0.0-rc1
[ruby-]2.0.0-rc2
[ruby-]2.0.0[-p0]
ruby-head

# GoRuby
goruby

# TheCodeShop - MRI experimental patches
tcs

# jamesgolick - All around gangster
jamesgolick

# Minimalistic ruby implementation - ISO 30170:2012
mruby[-head]

# JRuby
jruby-1.2.0
jruby-1.3.1
jruby-1.4.0
jruby-1.6.5.1
jruby-1.6.6
jruby-1.6.7.2
jruby-1.6.8
jruby[-1.7.3]
jruby-head

# Rubinius
rbx-1.0.1
rbx-1.1.1
rbx-1.2.3
rbx-1.2.4
rbx[-head]
rbx-2.0.testing
rbx-2.0.0-rc1

# Ruby Enterprise Edition
ree-1.8.6
ree[-1.8.7][-2012.02]

# Kiji
kiji

# MagLev
maglev[-head]
maglev-1.0.0

# Mac OS X Snow Leopard Or Newer
macruby-0.10
macruby-0.11
macruby[-0.12]
macruby-nightly
macruby-head

# Opal
opal

# IronRuby
ironruby[-1.1.3]
ironruby-head

山の様に出てきた。ここでは、Ruby 1.9.3 系の最新版をインストールしてみる。

インストールには rvm install を使う。

$ rvm install 1.9.3
Searching for binary rubies, this might take some time.
No binary rubies available for: ubuntu/12.10/i386/ruby-1.9.3-p392.
Continuing with compilation. Please read 'rvm mount' to get more information on binary rubies.
Installing Ruby from source to: /home/ataka/.rvm/rubies/ruby-1.9.3-p392, this may take a while depending on your cpu(s)...
ruby-1.9.3-p392 - #downloading ruby-1.9.3-p392, this may take a while depending on your connection...
######################################################################## 100.0%
ruby-1.9.3-p392 - #extracting ruby-1.9.3-p392 to /home/ataka/.rvm/src/ruby-1.9.3-p392
ruby-1.9.3-p392 - #extracted to /home/ataka/.rvm/src/ruby-1.9.3-p392
ruby-1.9.3-p392 - #configuring
ruby-1.9.3-p392 - #compiling
ruby-1.9.3-p392 - #installing
Retrieving rubygems-1.8.25
######################################################################## 100.0%
Extracting rubygems-1.8.25 ...
Removing old Rubygems files...
Installing rubygems-1.8.25 for ruby-1.9.3-p392 ...
Installation of rubygems completed successfully.
Saving wrappers to '/home/ataka/.rvm/bin'.
ruby-1.9.3-p392 - #adjusting #shebangs for (gem irb erb ri rdoc testrb rake).
ruby-1.9.3-p392 - #importing default gemsets, this may take time ...
Install of ruby-1.9.3-p392 - #complete

バージョンを切り替える

まず、今、インストールされてる ruby のバージョンを確認。rvm list で詳細情報が表示される。

$ ruby --version
ruby 2.0.0p0 (2013-02-24 revision 39474) [i686-linux]
$ which ruby
/home/ataka/.rvm/rubies/ruby-2.0.0-p0/bin/ruby
$ rvm list

rvm rubies

   ruby-1.9.3-p392 [ i686 ]
=* ruby-2.0.0-p0 [ i686 ]

# => - current
# =* - current && default
#  * - default

最新 2.0.0-p0 と 1.9.3-p392 がインストールされ、現在のデフォールトが ruby-2.0.0. なことが分かる。

rvm use でバージョンを変更。

$ rvm use 1.9.3
Using /home/ataka/.rvm/gems/ruby-1.9.3-p392
$ ruby --version
ruby 1.9.3p392 (2013-02-22 revision 39386) [i686-linux]

うん。OK。

あとがき

長くなったので、gem のインストールについてはまた次回。しかし、もう最新の Ruby 2.0 が入るようになっているとはね。便利。便利。

No comments:

Post a Comment