RVMでMacにも複数のRuby環境を!(1) # Leopard

Rubyの異なるバージョンを導入、管理できるRVMを導入したのでメモです.

このエントリはRVMのインストールまでを書き残しておきます.

入門Git

入門Git

以前UbuntuでRVMを導入したとき*1と違う点は以下の通りです.

  • Macportsでreadline*2をインストール
  • RVMをgithubから取得.

環境

  • Mac 10.5.8 ( Leopard )
  • ruby 1.8.6 (2009-06-08 patchlevel 369) [universal-darwin9.0] (標準インストール版)
  • MacPorts 1.8.2
  • Mac付属のxcodeをインストール済み

readlineをインストール

Mac付属のreadlineでは、日本語入力できない難点*3があるので,
MacPorts*4でreadlineをインストールします.

$ sudo port install readline

インストールしたreadlineのバージョンは以下の通り.

readline @6.1.000_1+darwin (active)

ちなみに,MacPortsでインストールしたソフトは/opt/localに展開されます.
rvmでrubyを導入する際に使うので要チェック.

git インストール

導入手順の情報はたくさん見つかるのでgoogleの検索結果で割愛.
ユーザ名やメールアドレス、無視リストなどを設定しておくと後で楽できます.

http://www.google.co.jp/search?sourceid=chrome&ie=UTF-8&q=mac+git

RVM インストール

RVMで導入したrubyは,

~/.rvm

で管理するのでディレクトリを用意します.
また,RVM自体もこのディレクトリ内に設置していきます.

$ mkdir -p ~/.rvm/src/
$ cd  ~/.rvm/src
$ git clone --depth 1 git://github.com/wayneeseguin/rvm.git
$ cd rvm
$ ./install

インストール成功後のメッセージににあるパスを
.bashrcか.bash_profileに追加,シェルの設定を再読み込みしておきます*5

if [[ -s /Users/hogehoge/.rvm/scripts/rvm ]] ; then source /Users/hogehoge/.rvm/scripts/rvm ; fi

ここまででRVMのインストールは終了です.
ためしに現行のrubyの情報を見てみると

$ rvm info
system:

  system:
    uname: "Darwin macby.local 9.8.0 Darwin Kernel Version 9.8.0: Wed Jul 15 16:55:01 PDT 2009; root:xnu-1228.15.4~1/RELEASE_I386 i386"
    shell:     "bash"
    version: "3.2.17(1)-release"

こんな感じです.

*1:http://d.hatena.ne.jp/hrsth/20100425/1272202894

*2:http://www.fireproject.jp/feature/c-language/etc/readline.html

*3:例えば,http://d.hatena.ne.jp/noplans_ruby/20090828/1251439752

*4:参考: http://blog.asial.co.jp/371

*5:$ source ~/.bash_profile など

RVMでMacにも複数のRuby環境を!(2) # Leopard

一つ前のエントリ*1でRVMの導入まで出来たので
続いて複数のバージョンを導入する方法を書き残しておきます.

インストール可能なリスト

$ rvm list known

ここで出てくる一覧の中から,インストールしたいバージョンを探し出してインストールします.
今回は1.9.1とruby-head (1.9.3dev) を導入しました.

インストール

irbで日本語入力が可能なようにreadlineへのパスをオプションで渡してインストールします.

$ rvm install 1.9.1 -C --with-readline-dir=/opt/local
Installing Ruby from source to: /Users/hogehoge/.rvm/rubies/ruby-1.9.1-p378
/Users/hogehoge/.rvm/src/ruby-1.9.1-p378 has already been extracted.
Configuring ruby-1.9.1-p378, this may take a while depending on your cpu(s)...
Compiling ruby-1.9.1-p378, this may take a while, depending on your cpu(s)...
Installing ruby-1.9.1-p378
Installation of ruby-1.9.1-p378 is complete.
Updating rubygems for /Users/hogehoge/.rvm/gems/ruby-1.9.1-p378@global
Updating rubygems for /Users/hogehoge/.rvm/gems/ruby-1.9.1-p378
adjusting shebangs for ruby-1.9.1-p378 (gem irb erb ri rdoc testrb rake).
Installing gems for ruby-1.9.1-p378 (rdoc rake).
Installing rdoc to /Users/hogehoge/.rvm/gems/ruby-1.9.1-p378@global
Installing rdoc to /Users/hogehoge/.rvm/gems/ruby-1.9.1-p378
Installing rake to /Users/hogehoge/.rvm/gems/ruby-1.9.1-p378@global
Installing rake to /Users/hogehoge/.rvm/gems/ruby-1.9.1-p378
Installation of gems for ruby-1.9.1-p378 is complete.

インストールが終わると,rdocやrubygems, rakeがどのディレクトリに導入されたか表示されます.
ruby-headも同様にオプションを渡して導入します.

インストールしたバージョンのリスト

インストールしたバージョンのリストは以下のように確かめられます.
sysytemはOS付属のバージョンです*2

# rvm list

rvm Rubies

   ruby-1.9.1-p378 [ i386 ]
   ruby-head [ i386 ]


System Ruby

=>   system [ ppc i386 ]

*1:http://d.hatena.ne.jp/hrsth/20100523/1274590336

*2:ユニバーサルバイナリなんだーと気づく

RVMでMacにも複数のRuby環境を!(3) # Leopard

前のエントリまででMacにRVMを導入して,
ruby 1.9.1と最新開発版をインストールできたので,
お試しで操作してみます.

プログラミングRuby 1.9 −言語編−

プログラミングRuby 1.9 −言語編−

使うバージョンを指定

使うバージョンを指定するには以下のように指定する,たったこれだけ.

$ rvm use 1.9.1
Using ruby 1.9.1 p378
$ ruby -v
ruby 1.9.1p378 (2010-01-10 revision 26273) [i386-darwin9.8.0]

初期状態ではrubygemsにパッケージが無いので,
適宜必要な物をインストールします.
これは使うrubyのバージョンごとにする作業なのでバッチとしてまとめておくと良さそうです.

デフォルトバージョン指定

常時使うバージョンを指定しておきたいときは以下のようにします.

$ rvm 1.9.1 --default
確認

Default Ruby が追加されていることが分かります.
# ちなみに今使っているバージョンに "=>" がついています.

$ rvm list
rvm Rubies

=> ruby-1.9.1-p378 [ i386 ]
   ruby-head [ i386 ]

Default Ruby (for new shells)

   ruby-1.9.1-p378 [ i386 ]

System Ruby

   system [ ppc i386 ]

RVM アップデート

RVM自体をアップデートする場合,
gitでpullして再度インストール...でも可能ですが,
もっと便利なオプションがあります.

$ rvm update --head
$ rvm reload

githubから最新版のソースを取得して
インストールするところまで賄ってくれます.