mcommit's message

大阪でソフトウェア開発の仕事をしている simotinといいます。記事の内容でご質問やご意見がありましたらお気軽にコメントしてください\^o^/

rails console が動かないときの対処

個人的な備忘録です。
最近Railsを勉強しています。※今から4年くらい前にも勉強していて挫折した経験がありますが
今回はドットインストールに助けられています。

さて、CentOSRailsの勉強をしていて rails consoleが動かなかったのですが

私の環境では、

ライブラリでrequireしているread-lineがないっていう問題と、
こんな問題↓が起きました。


Loading development environment (Rails 3.2.13)
/usr/local/lib/ruby/1.9.1/irb/input-method.rb:113:in `gets': uninitialized constant IRB::ReadlineInputMethod::Readline (NameError)
from /usr/local/lib/ruby/1.9.1/irb.rb:139:in `block (2 levels) in eval_input'
from /usr/local/lib/ruby/1.9.1/irb.rb:273:in `signal_status'
from /usr/local/lib/ruby/1.9.1/irb.rb:138:in `block in eval_input'
from /usr/local/lib/ruby/1.9.1/irb/ruby-lex.rb:188:in `call'
from /usr/local/lib/ruby/1.9.1/irb/ruby-lex.rb:188:in `buf_input'
from /usr/local/lib/ruby/1.9.1/irb/ruby-lex.rb:103:in `getc'
from /usr/local/lib/ruby/1.9.1/irb/slex.rb:205:in `match_io'
from /usr/local/lib/ruby/1.9.1/irb/slex.rb:75:in `match'
from /usr/local/lib/ruby/1.9.1/irb/ruby-lex.rb:286:in `token'
from /usr/local/lib/ruby/1.9.1/irb/ruby-lex.rb:262:in `lex'
from /usr/local/lib/ruby/1.9.1/irb/ruby-lex.rb:233:in `block (2 levels) in each_top_level_statement'
from /usr/local/lib/ruby/1.9.1/irb/ruby-lex.rb:229:in `loop'
from /usr/local/lib/ruby/1.9.1/irb/ruby-lex.rb:229:in `block in each_top_level_statement'
from /usr/local/lib/ruby/1.9.1/irb/ruby-lex.rb:228:in `catch'
from /usr/local/lib/ruby/1.9.1/irb/ruby-lex.rb:228:in `each_top_level_statement'
from /usr/local/lib/ruby/1.9.1/irb.rb:155:in `eval_input'
from /usr/local/lib/ruby/1.9.1/irb.rb:70:in `block in start'
from /usr/local/lib/ruby/1.9.1/irb.rb:69:in `catch'
from /usr/local/lib/ruby/1.9.1/irb.rb:69:in `start'
from /usr/local/lib/ruby/gems/1.9.1/gems/railties-3.2.13/lib/rails/commands/console.rb:47:in `start'
from /usr/local/lib/ruby/gems/1.9.1/gems/railties-3.2.13/lib/rails/commands/console.rb:8:in `start'
from /usr/local/lib/ruby/gems/1.9.1/gems/railties-3.2.13/lib/rails/commands.rb:41:in `'
from script/rails:6:in `require'
from script/rails:6:in `
'


解決方法ですが、以下の事をやったら無事解決しました。
1.read-lineのインストール

gem install rb-readline

2.Gemfileに以下の一行を追加


gem 'rb-readline' , '~>0.4.2'
bundle install

■環境(VMWareにインストールしたCentOSです)


$ cat /etc/redhat-release
CentOS release 6.4 (Final)

$ ruby -v
ruby 1.9.3p429 (2013-05-15) [i686-linux]

$ rails -v
Rails 3.2.13

rubyはソースを落としてきて野良ビルドしたものです。

railsはライブラリ周りで上手く動いてくれなかったりすることが多いみたいですね。