DebianにrvmでRubyの作業環境を作る

週末Rubyで遊ぼうと思ってて、Debian lennyに環境を作ったメモ。
@a_matsudaさんに教えてもらったページを参考に。
http://wiki.rubyonrails.org/getting-started/installation/linux-ubuntu
rvmはこのあたりを参考にした。
rvmの紹介 | feedforce Engineers' blog

必要なパッケージのインストール

rvm環境にするので、aptでとりあえずruby1.8と必要なパッケージをインストール。

$ sudo apt-get install build-essential libssl-dev libreadline5-dev zlib1g-dev checkinstall make curl ruby

Rubygemsのインストール

rubygemsはソースから入れておく。

$ cd ~
$ wget http://rubyforge.org/frs/download.php/57643/rubygems-1.3.4.tgz
$ tar xzvf rubygems-1.3.4.tgz
$ cd rubygems-1.3.4
$ sudo ruby setup.rb
$ sudo ln -s /usr/bin/gem1.8 /usr/bin/gem

gemをアップデートする。

$ sudo gem update --system

rvmのインストール

rvmをインストール。

$ cd ~
$ sudo gem install rvm
$ rvm-install

rvm-installで表示されるシェルスクリプトを.bashrcに追記。

if [[ -s /home/tokibito/.rvm/scripts/rvm ]] ; then source /home/tokibito/.rvm/scripts/rvm ; fi

.bashrcを読み込み。

$ cd ~
$ source .bashrc

作業環境(sandbox)の作成

rvmで使えるrubyのバージョンを確認する。

$ rvm list --all
(ruby-)1.8.6(-p383)
(ruby-)1.8.6-head
(ruby-)1.8.7(-p248)
(ruby-)1.8.7-head
(ruby-)1.9.1(-p243)
(ruby-)1.9.1(-p376)
(ruby-)1.9.1-head
(ruby-)1.9.2-preview1
jruby-1.2.0
jruby-1.3.0
jruby-1.3.1
jruby(-1.4.0) # the default
jruby-head
rbx(-prc1) # default
rbx-head
ree-1.8.6
ree(-1.8.7) # the default
ree-1.8.6-head
ree-1.8.7-head
maglev(-22725)
mput(-head) # shyouhei head, the default mput
ironruby-0.9.3 # (1.0 RC1)
ironruby-head

とりあえず1.8.7と1.9.1をインストールしておく

$ rvm install 1.8.7,1.9.1

aptでインストールしたRubyのバージョンを確認しておく。

$ /usr/bin/ruby -v
ruby 1.8.7 (2008-08-11 patchlevel 72) [x86_64-linux]

1.9.1用にsandboxでも作ってみる。

$ cd ~
$ mkdir sandbox-1.9.1
$ echo rvm ruby-1.9.1 >> sandbox-1.9.1/.rvmrc
$ cd sandbox-1.9.1
$ ruby -v
ruby 1.9.1p378 (2010-01-10 revision 26273) [x86_64-linux]

1.8.7のsandboxを作ってrailsをインストールする

$ cd ~
$ mkdir sandbox-1.8.7
$ echo rvm ruby-1.8.7 >> sandbox-1.8.7/.rvmrc
$ cd sandbox-1.8.7
$ ruby -v
ruby 1.8.7 (2010-01-10 patchlevel 249) [x86_64-linux]
$ gem install rails

これでsandbox-1.8.7にrailsのインストールができた。
念のため、1.9.1側に入ってないことを確認する。

$ cd ~/sandbox-1.8.7;gem list

*** LOCAL GEMS ***

actionmailer (2.3.5)
actionpack (2.3.5)
activerecord (2.3.5)
activeresource (2.3.5)
activesupport (2.3.5)
rack (1.0.1)
rails (2.3.5)
rake (0.8.7)

$ cd ~/sandbox-1.9.1;gem list

*** LOCAL GEMS ***

rake (0.8.7)
rubygems-update (1.3.5)

大丈夫そう。rvmよいね。

追記

rvmの作者の方からコメント頂いた!
rvmのページにインストール方法があるのでそこも参考に。
beginrescueend.com
beginrescueend.com
名前付きのGem Sets作れるのだそうで。