Railsでscript/consoleを実行するとエラー
こんなエラーが出た。
$ ruby script/console Loading development environment (Rails 2.2.2) /usr/local/lib/ruby/1.8/irb/completion.rb:10:in `require': no such file to load -- readline (LoadError) from /usr/local/lib/ruby/1.8/irb/completion.rb:10 from /usr/local/lib/ruby/1.8/irb/init.rb:252:in `require' from /usr/local/lib/ruby/1.8/irb/init.rb:252:in `load_modules' from /usr/local/lib/ruby/1.8/irb/init.rb:250:in `each' from /usr/local/lib/ruby/1.8/irb/init.rb:250:in `load_modules' from /usr/local/lib/ruby/1.8/irb/init.rb:21:in `setup' from /usr/local/lib/ruby/1.8/irb.rb:54:in `start' from /usr/local/bin/irb:13
readlineが無いということなので、調べてみると・・・。
$ yum list installed | grep readline readline.i386 5.1-1.1 installed
なんだあるじゃないか。と、ここで安心してしまい、時間を奪われました。つまり、
$ yum list | grep readline readline.i386 5.1-1.1 installed readline-devel.i386 5.1-1.1 installed compat-readline43.i386 4.3-3 base php-readline.i386 5.1.6-15.el5.centos.1 extras
こういうこと。readline-develが無かったわけです。早速インストール。
$ sudo yum install readline-devel
readline-develが最初から入っていなかったので、Rubyをmake installし直すか、以下の手順を踏む必要があります。
$ su - # cd /usr/src/ruby-1.8.7-p72/ext/readline # ruby extconf.rb # make && make install
これで終了。そして動作確認。
$ ruby script/console Loading development environment (Rails 2.2.2)
ふぅ。なんかライブラリが無くて動かないってことが多いなぁ。