(Ubuntu)(Ubuntu10.10)(ruby)(rvm)(Ubuntu10.10 に rvm で rubyのマルチバージョン環境を構築してみた)

 「やっぱり rubyスクリプトを組むなら Linux環境だよね!」ということで
先日 知り合いの人から貰ったお古のPCにUbuntuをインストールし 環境を構築してみる事に

 まぁ普通に1.9.2だけをインストールしても良かったんだけど
rvmというマルチバージョン環境を作れるものがあるというのは知っていたので
「せっかくだし やってみよう〜」という軽いノリでやってみました
よって 抜けている所が多々あるでしょうし 先に謝っておきます 笑)
あくまでも Linux初心者がテキトーにやったらこうなった、程度で読んでください

 まず rvmのインストールには git-core と curl が 必要なので 入ってなかったら
apt-get や aptitude で インストールしておきます
私の場合は Ubuntuインストール後にすぐにaptitudeをインストールして
aptitudeでインストールできるものは極力aptitudeでインストールするようにしています
(それが正しいのかどうかも分ってませんけどね 笑)

 続いて端末上で以下を実行します
bash < <( curl []http://rvm.beginrescueend.com/releases/rvm-install-head[] )

 終わったら ~/.bashrcの末尾に
[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm"
の一行を追加します

 一旦端末を終わらせ もう一度起動
(.bashrcの設定を読み込ませるためですね)

 端末上で rvm notes を実行してnotesを表示させます
ここでなにかダラダラッと表示されない場合はこれまでの手順で何か失敗しています
一応noteを最後まで流し読みし、必要なパッケージをインストールします
説明には sudoが付いてませんが きちんとsudoをつけて
sudo aptitude install build-essential bison openssl libreadline6 libreadline6-dev curl git-core zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-0 libsqlite3-dev sqlite3 libxml2-dev libxslt-dev autoconf
と実行します
これはrvmでrubyをインストールする時にコンパイルが必要なためそれに必要なパッケージをインストールしています

 これで rvm のインストールは完了です

 続いてrubyのインストールですが
rvm install 1.9.2
rvm install 1.8.7
などで各バージョンのrubyをインストールできます
まぁ普通は 1.8.7 と 1.9.2あたりがあれば十分でしょうかね
必要に応じてその他のバージョンもインストールしてください

 続いてデフォルトで使うバージョンを指定します
rvm use 1.9.2 --default
とか
rvm use 1.8.7 --default
のようにすれば 端末を開いた時にすぐ使えるバージョンを切り替える事が出来ます

 さて このままでは rubyのバイナリの場所は 従来の /usr/bin/ruby ではなくなりますので
スクリプトの 1行目の #!/usr/bin/ruby -Ku などが通用しなくなりますよね
そこで バイナリのあるフォルダ(~/.rvm/binの中)に注目します
一度
rvm use 1.9.2 --default
などとしてデフォルトのバージョン指定をすると
~/.rvm/bin/ruby というシンボリックリンクが作成されます
これは デフォルトの指定が変更されるたびに 実際のバイナリへリンク先を変更させてます

 よって この シンボリックリンクに対するシンボリックリンク を /usr/bin に作ればいいわけですよね
sudo ln -s ~/.rvm/bin/ruby /usr/bin/
とすれば 従来通りの書き方でスクリプトを実行する事が出来るかと思います
(とりあえず 今はこれで上手く行ってます)