一分一秒真剣勝負!

Ruby, Railsなど。Web系の技術ネタを充実させたい・・が、そうなるかは分からない。

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)

 ふぅ。なんかライブラリが無くて動かないってことが多いなぁ。