momota.txt

hello, hello, hello, how low?

Rbenv でrubyバージョンにはもう泣かされない

ソフトウェアバージョンの差異に悩まされる人は多いと思う。

同じOS上で違うバージョンのrubyを動かしたいことはまあある。 /home/you/foo以下は既存コードがあるから1.8系のままでで動かしたいし、/home/you/bar以下は新しい試みとして2.0系を動かしたいとか。 そこでrbenvという便利なrubyバージョン管理ツールがある。 rbenvにより、あるディレクトリ以下のrubyバージョンを任意に指定できる。

rbenv をインストールする

詳細はgithubのREADME.md参照。https://github.com/sstephenson/rbenv

1. 最新コードをローカルにチェックアウトする

githubから最新版を ~/.rbenv にチェックアウトする

1
$ git clone https://github.com/sstephenson/rbenv.git ~/.rbenv

2. pathを通すため、shellの設定を変更する

  • ~/.rbenv/bin$PATH に追加する
1
$ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.zshrc
  • shim と 自動補完を有効にする
1
$ echo 'eval "$(rbenv init -)"' >> ~/.zshrc

bash ユーザは ~/.zshrc の代わりに ~/.bash_profile へ。 ubuntu ユーザは ~/.zshrc の代わりに ~/.profile へ。

3. 設定変更内容を反映するため、shell を再起動する

1
$ exec $SHELL -l

(番外編) rbenv を最新版にアップグレードする

1
2
$ cd ~/.rbenv
$ git pull

ruby-build をインストールして、任意の ruby バージョンをインストールできるようにする

ruby-build は rbenv のプラグインで、いろいろなバージョンの ruby のインストールを rbenv install コマンドでできるようになる。 インストールは、公式に書いてあるように以下。

1
$ git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build

MAC使いだと homebrew でいける。

1
$ brew install ruby-build

インストール可能な ruby バージョンを一覧表示する

1
$ rbenv install -l

任意のバージョンの ruby をインストールする

1
$ rbenv install 1.9.3-pxx

ruby-build を upgrade する

新しいバージョンの ruby が公開されたりすると、ruby-build を upgrade する必要がある。 git pull してあげれば良い。

1
2
$ cd ~/.rbenv/plugins/ruby-build/
$ git pull origin master

rbenv で任意バージョンの ruby へ切り替えたり

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# List all Ruby versions known by rbenv
$ rbenv versions

# switch version
$ rbenv global 1.9.3-pxx

# back to system default
$ rbenv global system


# 特定のディレクトリ以下のRubyバージョンを切り替え
$ rbenv local 1.9.3-p327

# ローカル設定を解除
$ rbenv local --unset


# path to installed ruby or gem
$ rbenv rehash

Comments