Mac で rbenv を使った Ruby 開発環境を整える
最近は Python だけじゃなくて Ruby もやっておかないとなあと思いつつ時間だけが過ぎているので、ひとまず rbenv を使った開発環境だけでも整えてみることにした。 インストールは Homebrew から。
$ brew install rbenv ruby-build rbenv-gemset
どうやら rbenv はプラグインのような形で機能追加ができるようになっているようだ。 ruby-build を使うと複数バージョンの Ruby をビルドできるらしい。Python でいうところの Pythonz か。そして rbenv-gemset を使うとパッケージを入れる場所が複数作れるらしい。Python でいうところの virtualenv か。 次にパスを通す。zsh を使っているときは引数が必要みたい。
$ cat << EOF >> ~/.zshenv if which rbenv > /dev/null; then eval "$(rbenv init - zsh)"; fi EOF
bash のときは無くても良い。
$ cat << EOF >> ~/.bash_profile if which rbenv > /dev/null; then eval "$(rbenv init -)"; fi EOF
rbenv が使えるようになったら、次にインストール可能な Ruby 処理系の一覧を表示する。たくさんある。
$ rbenv install -l
幾つか見繕ってインストールしてみる。 インストールしたら必ず rehash コマンドが必要らしい。
$ rbenv install 2.0.0-p247 $ rbenv install 1.9.3-p448 $ rbenv rehash
インストール済みの Ruby を表示する。 まだ "system" なので rbenv を使ってインストールしたものは使われていない。
$ rbenv versions * system (set by /Users/amedama/.rbenv/version) 1.9.3-p448 2.0.0-p247
システム全体で使う Ruby は global コマンドで切り替えられる。
$ rbenv global 2.0.0-p247 $ rbenv versions system 1.9.3-p448 * 2.0.0-p247 (set by /Users/amedama/.rbenv/version)
特定のディレクトリで使う Ruby は local コマンドで切り替える。
$ mkdir Workplace $ cd Workplace $ rbenv local 1.9.3-p448 $ rbenv versions system * 1.9.3-p448 (set by /Users/amedama/Workplace/.ruby-version) 2.0.0-p247 $ ruby --version ruby 1.9.3p448 (2013-06-27 revision 41675) [x86_64-darwin13.0.0]
このままだと、まだ Gem の環境がシステムで使われているものと一体になってしまっているので gemset を新たに作る。
$ rbenv gemset create 1.9.3-p448 sandbox created sandbox for 1.9.3-p448
このディレクトリで使う gemset を .rbenv-gemsets ファイルで指定する。 何でここだけコマンド化されていないんだろう?不思議だ。
$ echo sandbox > .rbenv-gemsets $ rbenv gemset list 1.9.3-p448: sandbox
これでまっさらな環境ができた。
$ gem list *** LOCAL GEMS ***
当然ディレクトリを移動するとシステムの Gem が見えるようになる。
$ cd .. $ gem list *** LOCAL GEMS *** bigdecimal (1.2.0) io-console (0.4.2) json (1.7.7) ...(snip)
いいかんじだね!










