Rails 服务器提供 Readline 支持错误

Rails server giving Readline support error

我是 Rails 上 Ruby 的新手,我正在尝试启动 RoR 服务器。但是当我 运行 命令 rails server 它给了我以下错误:

Sorry, you can't use byebug without Readline. To solve this, you need to
    rebuild Ruby with Readline support. If using Ubuntu, try `sudo apt-get
    install libreadline-dev` and then reinstall your Ruby.
bin/rails:6: warning: already initialized constant APP_PATH
/home/abraar/ror/bin/rails:6: warning: previous definition of     APP_PATH     was here
Usage: rails COMMAND [ARGS]

我在 Ruby 2.2.2 和 Rails 4.2.1 中使用 rbenv 我尝试按照此博客 post http://vvv.tobiassjosten.net/ruby/readline-in-ruby-with-rbenv/ 上的说明进行操作,但它不起作用。

有什么解决办法吗?

谢谢!

byebug 是用于调试的 gem。

rails 的新应用程序生成器默认将其包含在开发和测试环境中 following lines:

group :development, :test do
<% if RUBY_ENGINE == 'ruby' -%>
  # Call 'byebug' anywhere in the code to stop execution and get a debugger console
  gem 'byebug'

我觉得新手会不会用不重要。我建议在 Gemfile 运行 bundle install 中注释掉该行并继续您的 rails 学习冒险。

如果你赶时间,

打开你的 byebug 的 history.rb

/Users/user/.rvm/gems/ruby-2.1.5@rails/gems/byebug-9.0.5/lib/byebug/history.rb

并注释掉下面一行,

require 'readline'

但是,建议使用byebug调试

我通过(使用自制软件和 rbenv 的 mac 命令解决了这个问题):

  • 正在安装 readline brew install readline
  • 重新安装/重新编译rubyrbenv install 2.3.1

要解决此问题(针对 OSX,已在 Sierra 上测试),运行 按照 shell -

中的命令

ln -s /usr/local/opt/readline/lib/libreadline.dylib /usr/local/opt/readline/lib/libreadline.6.dylib

我通过以下方式解决了

brew unlink readline 
brew link readline --force

我遇到了以下错误:

Sorry, you can't use byebug without Readline

重新安装 ruby 为我解决了这个问题(使用 rvm):

rvm reinstall 2.1.5

您可以将 ruby 版本替换为您要重新安装的版本,即 2.1.5。

将此添加到 gem 的开发组。

gem 'rb-readline'

https://github.com/deivid-rodriguez/byebug/issues/289#issuecomment-251383465

2019 年 7 月 Mac

我在我的机器上遇到了同样的问题 & 运行 下面的命令解决了它,请注意,即使你有版本 8 的 readline,你仍然需要 link 到版本 7,如下所示:

ln -s /usr/local/opt/readline/lib/libreadline.dylib /usr/local/opt/readline/lib/libreadline.7.dylib