Sunday, June 5, 2011

Snow Leopard の irb で日本語が使えない

irb で 日本語の入力ができない。原因は Mac 付属の readline にある、ということで、GNU Readline を /usr/local/bin にインストールし、irb から GNU Readline を呼び出すようにする。

readline のソースを /usr/local/src/ に展開した上で、
$ cd /usr/local/src/readline-6.2
$ ./configure --prefix=/usr/local
$ make
$ sudo make install

Ruby1.9 のリコンパイル。 --with-readline-dir オプションを追加
$ cd /usr/local/src/ruby-1.9.2-p180
$ ./configure --enable-shared --enable-pthread CFLAGS=-D_XOPEN_SOURCE=1 --with-readline-dir=/usr/local
$ make
$ sudo make install

参考:
GNU Readline
http://cnswww.cns.cwru.edu/php/chet/readline/rltop.html
2011/6/5 現在の最新は readline 6.2

備考:
1. readline 6.2 は Snow Leopard に対応済で、ソースの修正無しにコンパイルができる。
readline-6.2/support/shobj-conf の該当部分
    159 # Darwin/MacOS X
    160 darwin[89]*|darwin10*)

2. Ruby のインストール時、 ./configure の出力で下記警告が出るが、問題なく有効になっているってのをどこかで読んだ。
実際に問題なく動いてくれているのでOK。
configure: WARNING: unrecognized options: --with-readline-dir
  
Ruby のインストールについては、下記参照
http://hivelogic.com/articles/compiling-ruby-rubygems-and-rails-on-snow-leopard/