【发布时间】:2014-05-19 21:19:15
【问题描述】:
我的 Rails 应用程序出现了一些错误,我正在尝试通过发出以下命令来启动 Rails 控制台:
rails console
无论我尝试什么,我总是遇到同样的错误:
/usr/local/rvm/rubies/ruby-2.1.1/lib/ruby/2.1.0/irb/completion.rb:9:in `require': cannot load such file -- readline (LoadError)
from /usr/local/rvm/rubies/ruby-2.1.1/lib/ruby/2.1.0/irb/completion.rb:9:in `<top (required)>'
from /opt/mammie/web/icosole/vendor/bundle/ruby/2.1.0/gems/railties-3.1.3/lib/rails/commands/console.rb:3:in `require'
from /opt/mammie/web/icosole/vendor/bundle/ruby/2.1.0/gems/railties-3.1.3/lib/rails/commands/console.rb:3:in `<top (required)>'
from /opt/mammie/web/icosole/vendor/bundle/ruby/2.1.0/gems/railties-3.1.3/lib/rails/commands.rb:37:in `require'
from /opt/mammie/web/icosole/vendor/bundle/ruby/2.1.0/gems/railties-3.1.3/lib/rails/commands.rb:37:in `<top (required)>'
from script/rails:6:in `require'
from script/rails:6:in `<main>'
我真的尝试了我在网上找到的所有可能的解决方案,因为很多人都遇到了同样的错误。不幸的是,似乎没有任何效果。当我尝试以下命令时:
ruby /usr/local/rvm/src/ruby-2.1.1/ext/readline/extconf.rb
我得到以下输出
checking for tgetnum() in -lncurses... yes
checking for readline/readline.h... yes
checking for readline/history.h... yes
checking for readline() in -lreadline... no
checking for readline() in -ledit... no
checking for editline/readline.h... no
*** /usr/local/rvm/src/ruby-2.1.1/ext/readline/extconf.rb failed ***
表示缺少某些内容,但使用 apt-get 安装 readline 也没有什么不同。我猜这可能与不兼容的 gem 版本有关,因为控制台前段时间工作过。 readline 是否存在任何已知的版本问题?很多人似乎都遇到过这个 gem 的问题。
【问题讨论】:
-
我真的发现以下页面很有帮助:github.com/guard/guard/wiki/… 我遇到了 readline 和 irb 以及 rails 控制台的问题。对我来说,我遵循自制部分。
标签: ruby-on-rails ruby console readline