もともと rbenv を使っていたのですが、
同時に複数のスレッドが動作可能になる「Ruby 1.9.3のGVLにHTMを用いるパッチ」を当てて rbenv / ruby-build でインストール - Qiita
で検証のためにソースから Ruby 1.9.3-p547 をインストールした後で rbenv が使えなくなりました*1。
そのため、ついでにシステムへソースから 2.1.2 を入れると共に、 rbenv で管理できるようにしました。
ソースコードから Ruby 2.1.2 をインストール
まずソースコードを取ってきます。
ダウンロード|オブジェクト指向スクリプト言語 Ruby
ruby-2.1.2.tar.gz がダウンロードされるので、ダブルクリックして展開。ruby-2.1.2 ディレクトリをターミナルで開きます。
そして次のインストールコマンドを入力。オプションとして readline, OpenSSL を有効にして、--enable-shared も加えています。
$ ./configure --enable-shared --with-readline-dir=`brew --prefix readline` --with-openssl-dir=`brew --prefix openssl` && make && sudo make install
sudoしているので、途中でパスワード入力を求められます。
ログは
Ruby 2.1.2 install log|GitHubGist
に貼っています。
Rubyのバージョンを確認
$ ruby -v ruby 2.1.2p95 (2014-05-08 revision 45877) [x86_64-darwin13.0]
OpenSSL が有効であるか確認
$ ruby -ropenssl -e 'puts OpenSSL::OPENSSL_VERSION' OpenSSL 1.0.1h 5 Jun 2014
Readline が有効であるか確認
$ ruby -rreadline -e 'puts Readline::VERSION' 6.3
$ irb irb(main):001:0> puts "日本語" 日本語 => nil
rbenv が無効になってしまったときに有効化する
rbenv を homebrew でインストールしたときにコメントが出ますが、.bash_profile に
if which rbenv > /dev/null; then eval "$(rbenv init -)"; fiexport RBENV_ROOT="$HOME/.rbenv" if [ -d $RBENV_ROOT ]; then export PATH="$RBENV_ROOT/bin:$PATH" eval "$(rbenv init -)" fi
を追加しておきます。
(訂正後の情報源:RVMからrbenvに移行した手順まとめ)
もしソースからRubyをインストールした後に
$ which ruby /usr/local/bin/ruby
となった場合には
$ . ~/.bash_profile
すると
$ which ruby /Users/riocampos/.rbenv/shims/ruby
となるはずです。
ちなみに、さきほどソースからインストールした Ruby 2.1.1 は
$ rbenv global system
で使えます。
*1:rbenvに関連するファイル設定が不十分だったためですが