[Ruby] OS X Mavericks (10.9) に Homebrew + rbenv で Ruby をインストールする

OS をクリーンインストールしたので、いろいろまとめつつインストールする。

Xcode CLI と Homebrew のインストール

  • Xcode を AppStore(または Apple Developer)からダウンロードする。
  • Xcode を起動し、ライセンスを許諾する。

Xcode CLI と Homebrew をインストールする。

$ ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"

xcode-select —install は、上記スクリプト内で実行されました。

インストールに問題がないことを確認する。

$ brew doctor

rbenv をインストールする

$ brew update
$ brew install rbenv ruby-build

設定を追記する

.bash_profile など利用しているプロファイルに設定を追記する。

  • プロファイルに eval "$(rbenv init -)" を追加する。

設定が空であれば、こんな感じで。

$ echo 'eval "$(rbenv init -)"' >> ~/.bash_profile

PATH を確認する

新しいターミナルウィンドウを立ち上げるなど設定ファイルを読み込み直す。
以下のような形でパスが通っていることを確認する。

$ echo $PATH
/Users/****/.rbenv/shims:/usr/local/bin:/usr/bin:/bin

※ プロファイルの $PATH~/.rbenv/shims を追加する必要はない。

Ruby をインストールする

インストールしたいバージョンを確認して、おまじない付きでインストールする。

$ rbenv install -l | grep 2.1.1
  2.1.1
$ RUBY_CONFIGURE_OPTS="--with-readline-dir=$(brew --prefix readline) --with-openssl-dir=$(brew --prefix openssl)" rbenv install 2.1.1

Ruby を切り替える

$ ruby -v
ruby 2.0.0p247 (2013-06-27 revision 41674) [universal.x86_64-darwin13]
$ rbenv versions
* system (set by /Users/****/.rbenv/version)
  2.1.1
$ rbenv global 2.1.1
$ ruby -v
ruby 2.1.1p76 (2014-02-24 revision 45161) [x86_64-darwin13.0]
$ rbenv rehash

Bundler をインストールする

共通して利用する、常に最新バージョンを利用する gem は、rbenv exec gem install する方が便利。
例えば bundler など。

$ rbenv exec gem install bundler
$ rbenv rehash

忘れずに rehash する。

その他の gem は、bundler でプロジェクトごとにインストール管理する。

rbenv-default-gems でグローバルインストールする gem を設定する

以下、必要な方のみ。

グローバルにインストールしているgemは、rbenv install するたびに gem install し直さねばならない。
rbenv-default-gems で設定しておけば、自動化できる。

インストールします。

$ brew install rbenv-default-gems

このような設定ファイルを用意する。
(rbenv-rehash は、前述の rehash コマンドを不要にする gem)

~/.rbenv/default-gems
bundler
rbenv-rehash
pry
haml
sass
compass

次回以降の ruby install 時に、default-gems に書いた gem も自動でインストールされる。
ただし、初回はファイルを用意しても permission error でうまく動かなかった。

以下を実行する等、手動でインストールする。

$ rbenv exec gem install `cat ~/.rbenv/default-gems`
$ rbenv rehash

補遺

読み直したエントリー。
本投稿で穴はなくなったはず(当社比)。