我尝试在3.1中加载rails控制台时出错

时间:2011-09-10 09:15:03

标签: ruby-on-rails console ruby-on-rails-3.1

当我尝试在3.1中加载rails控制台时出现以下错误。为什么我会这样?我做错了什么?

/home/brettlee/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/irb/completion.rb:9:in `require': no such file to load -- readline (LoadError)
from /home/brettlee/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/irb/completion.rb:9:in `<top (required)>'
from /home/brettlee/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.1.0/lib/rails/commands/console.rb:3:in `require'
from /home/brettlee/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.1.0/lib/rails/commands/console.rb:3:in `<top (required)>'
from /home/brettlee/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.1.0/lib/rails/commands.rb:37:in `require'
from /home/brettlee/.rvm/gems/ruby-1.9.2-p290/gems/railties-3.1.0/lib/rails/commands.rb:37:in `<top (required)>'
from script/rails:6:in `require'
from script/rails:6:in `<main>'

1 个答案:

答案 0 :(得分:8)

编辑:布莱恩是对的 - 只需尝试安装libncurses&amp;首先,libreadline很有可能单独工作。如果没有,你可能需要重新安装ruby。

真正常见的错误 - 这意味着您缺少运行控制台所需的一些库。

This guide应该告诉你如何修复它。

缺点是,尝试安装libncurses&amp;使用以下命令读取readline(我猜你的目录结构是你正在使用的是Ubuntu。如果是其他不使用apt-get的东西,那就改变吧)

sudo apt-get install libncurses5-dev libreadline5-dev
ruby ~/.rvm/src/ruby-1.9.2-p290/readline/ext/extconf.rb
cd ~/.rvm/src/ruby-1.9.2-p290/readline/ext/
sudo make

如果这不起作用,则需要在安装readline包后通过rvm重新安装ruby 1.9.2。不要卸载通过apt-get安装的libncurses / readline包 - 你仍然需要'em。

rvm package install readline
rvm remove 1.9.2
rvm install 1.9.2 --with-readline-dir=$rvm_path/usr
ruby ~/.rvm/src/ruby-1.9.2-p290/readline/ext/extconf.rb
cd ~/.rvm/src/ruby-1.9.2-p290/readline/ext/
sudo make

希望这有帮助