【问题标题】:Why does Rails console say "cannot load such file -- readline"?为什么 Rails 控制台说“无法加载此类文件--readline”?
【发布时间】:2013-03-23 01:10:10
【问题描述】:

我是 Ruby on Rails 的新手,并且正在使用 RVM 来管理 Ruby 版本。

我的笔记本电脑安装了 Ruby1.8.7,但我的项目使用的是 RVM、Ruby1.9.3 和 Rails 3.2.11。

我无法运行 rails crails console 而不出现以下错误:

/home/phil/.rvm/rubies/ruby-1.9.3-p392/lib/ruby/1.9.1/irb/completion.rb:9:in `require': cannot load such file -- readline (LoadError)
from /home/phil/.rvm/rubies/ruby-1.9.3-p392/lib/ruby/1.9.1/irb/completion.rb:9:in `<top (required)>'
from /home/phil/.rvm/gems/ruby-1.9.3-p392/gems/railties-3.2.11/lib/rails/commands/console.rb:3:in `require'
from /home/phil/.rvm/gems/ruby-1.9.3-p392/gems/railties-3.2.11/lib/rails/commands/console.rb:3:in `<top (required)>'
from /home/phil/.rvm/gems/ruby-1.9.3-p392/gems/railties-3.2.11/lib/rails/commands.rb:38:in `require'
from /home/phil/.rvm/gems/ruby-1.9.3-p392/gems/railties-3.2.11/lib/rails/commands.rb:38:in `<top (required)>'
from script/rails:6:in `require'
from script/rails:6:in `<main>'

【问题讨论】:

  • 您正在运行哪个rails 命令? which rails 的输出是什么?
  • 感谢斯图尔特的回复。我在下面回答。

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


【解决方案1】:

编译 Ruby 时需要安装 readline 库。

如果您使用的是 CentOS/Redhat/Fedora Linux,请使用以下命令安装软件包:

sudo yum install readline-devel

或者,在 Ubuntu 上,使用:

sudo apt-get install libreadline6 libreadline6-dev

然后重新编译 Ruby。

【讨论】:

  • 感谢 Stuart 和 John 的回复。我运行“rvm use 1.9.3”,它显示“ruby 1.9.3p392(2013-02-22 修订版 39386)[i686-linux]”。一切正常,只有当我运行“rails c”或“rails console”时才会出现上述错误。我运行“sudo apt-get install libreadline6 libreadline6-dev”并安装了它们,但不幸的是我仍然收到错误。
  • johnkoht - 当你说“然后重新编译 ruby​​”时,你到底是什么意思?
  • 然后使用“rvm uninstall [RUBYVERSION] 然后 rvm install [RUBYVERSION]”重新编译 ruby​​。现在可以了,感谢一百万个 johnkoht,传奇!
  • 很高兴你让它工作了(抱歉我直到现在才看到你的其他消息)。
猜你喜欢
  • 2014-05-19
  • 1970-01-01
  • 1970-01-01
  • 2015-01-01
  • 1970-01-01
  • 2017-08-22
  • 2017-04-05
  • 2012-05-15
  • 1970-01-01
相关资源
最近更新 更多