irbで日本語入力 文字化け rbenv 対処法

irbで日本語を入力しようとすると文字化けしてしまった.

f:id:alice345:20131211221951j:plain

これの対処法をメモ

1.使っているバージョンを確認

f:id:alice345:20131211222343j:plain

 

今回は普段使っている2.0.0-p247を対象にする

2.Rubyをアンインストール
$rbenv uninstall 2.0.0-p247

f:id:alice345:20131211223218j:plain

 

3.必要なパッケージをインストール
今回はopensslとreadlineをインストールする.irbで日本語を使うのに必要なのはreadlineらしい.>
$brew install readline
$brew install openssl

4.パッケージを有効化させる
$brew link readline --force
$brew link openssl --force

5.Rubyの再インストール
2.0.0-p247を再インストールする.このときオプションを付けてインストールする.
$RUBY_CONFIGURE_OPTS="--enable-shared --with-readline-dir=$(brew --prefix readline) --with-openssl-dir=$(brew --prefix openssl)"  rbenv  install 2.0.0-p247

6.バージョンを切り替える
インストールが終わったら,バージョンを切り替えてirbを確認してみる
$rbenv global 2.0.0-p247
$irb

f:id:alice345:20131212121732j:plain

正常に日本語が入力できるようになった.(pryを使ってればこんなことをする必要はなかった...?)

【追記】
コメントにてid:asonasさんに

brew link readline --force してもいいのですが、多分そのままだと brew doctor したら「readlineをunlinkしろや」みたいな感じで怒られると思います。

 とご指摘してもらったので,確認してみると
$brew doctor

f:id:alice345:20131212214609j:plain

 

確かに「unlinkしろや!」と怒られた.素直にunlinkする
$brew unlink readline
$brew unlink openssl

f:id:alice345:20131212215245j:plain

再度brew doctorで確かめてみる

$brew doctor

f:id:alice345:20131212215613j:plain

usr/localのパーミッションがどうもダメらしい.パーミッションを調べてみる.
/usr/local %ls -al

f:id:alice345:20131212220544j:plain

パーミッションが755,グループがwheelになっている.
パーミッションは775,グループはstaffに変更
$sudo chgrp staff .
$sudo chmod 775 .

f:id:alice345:20131212223228j:plain

ここで再びドクターにお伺いを立てる
$brew doctor

f:id:alice345:20131212223447j:plain

治った!
何が原因だったか調べるのはまた後日にします.
あそなすさん,ご指摘ありがとうございました!