2013年9月8日日曜日

Ruby on Rails その2

rails consoleコマンドが動かない。。

#rails console
/root/.rbenv/versions/1.9.3-p448/lib/ruby/1.9.1/irb/completion.rb:9:in `require': cannot load such file -- readline (LoadError)
        from /root/.rbenv/versions/1.9.3-p448/lib/ruby/1.9.1/irb/completion.rb:9:in `<top (required)>'

どうやら、readlineライブラリ見つからないらしい。。。
rubyに標準で含まれるライブラリっぽいので、rubyを再インストールしてみる。

#rbenv install 1.9.3-p448

だめだった。。。


Gemfileに以下を追加して、
gem 'rb-readline'

#bundle install

すると、
Installing rb-readline (0.5.0)
おっ、インストールされたっぽい。

#rails console

Loading development environment (Rails 3.2.14)
/root/.rbenv/versions/1.9.3-p448/lib/ruby/1.9.1/irb/input-method.rb:113:in `gets': uninitialized constant IRB::ReadlineInputMethod::Readline (NameError)
        from /root/.rbenv/versions/1.9.3-p448/lib/ruby/1.9.1/irb.rb:139:in `block (2 levels) in eval_input'


ぐぐったら、rubyインストール時に、redline-develがないとだめらしい。

#yum install readline-devel.x86_64

i686(32bit)とx86_64(64bit)用がある

一度アンインストールしてから、再インストールしてみる。
#gem uninstall rb-readline
#bundle install

Loading development environment (Rails 3.2.14)
/root/.rbenv/versions/1.9.3-p448/lib/ruby/1.9.1/irb/input-method.rb:113:in `gets': uninitialized constant IRB::ReadlineInputMethod::Readline (NameError)
        from /root/.rbenv/versions/1.9.3-p448/lib/ruby/1.9.1/irb.rb:139:in `block (2 levels) in eval_input'
同じでした。。。

#gem uninstall rb-readline
してから、rubyを再々インストール
#rbenv install 1.9.3-p448

うまくいった!


0 件のコメント:

コメントを投稿

注: コメントを投稿できるのは、このブログのメンバーだけです。