Rails服务器给出Readline支持错误

Abr*_*nto 9 ruby ruby-on-rails readline ruby-on-rails-4

我是Ruby on Rails的新手,我正在尝试启动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]
Run Code Online (Sandbox Code Playgroud)

我正在使用rbenv与Ruby 2.2.2和Rails 4.2.1我尝试按照此博客文章http://vvv.tobiassjosten.net/ruby/readline-in-ruby-with-rbenv/上的说明进行操作,但它不能正常工作.

有解决方案吗

谢谢!

小智 17

要修复此问题(对于OSX,在Sierra上测试),请在shell中运行以下命令 -

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


dom*_*dom 5

我解决了这个问题((使用homebrew和rbenv的mac命令):

  • 安装readline brew install readline
  • 重新安装/重新编译Ruby rbenv install 2.3.1


Ahm*_*ssy 5

Mac上的2019年7月

我在计算机上遇到了相同的问题,并运行以下命令解决了该问题,请注意,即使您拥有readline的版本8,您仍然需要链接到版本7,如下所示:

ln -s /usr/local/opt/readline/lib/libreadline.dylib /usr/local/opt/readline/lib/libreadline.7.dylib
Run Code Online (Sandbox Code Playgroud)


Pra*_*thy 2

byebug是一个用于调试的 gem。

新的 Rails 应用程序生成器默认将其包含在开发和测试环境中,其中包含以下几行

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

我认为对于新人来说能否使用它并不重要。我建议在 Gemfile 中注释掉该行,运行bundle install并继续您的 Rails 学习冒险。

  • 这不是问题的解决方案,为什么初学者 Rails 开发人员不需要调试,如果他来自其他语言并且不是一个完全的新手怎么办? (11认同)