簡體   English   中英

Rails服務器給出Readline支持錯誤

[英]Rails server giving Readline support error

我是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]

我正在使用rbenv與Ruby 2.2.2和Rails 4.2.1我嘗試按照此博客文章http://vvv.tobiassjosten.net/ruby/readline-in-ruby-with-rbenv/上的說明進行操作,但它不能正常工作。

有解決方案嗎

謝謝!

要修復此問題(對於OSX,在Sierra上測試),請在shell中運行以下命令 -

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

我通過(帶有自制軟件和rbenv的mac命令)解決了這個問題:

  • 安裝readline brew install readline
  • 重新安裝/重新編譯ruby rbenv install 2.3.1

2019年7月在Mac上

我在我的機器上遇到了同樣的問題並運行以下命令解決了它,請注意即使你有readline版本8,你仍然需要鏈接到版本7,如下所示:

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

將其添加到gem的開發組。

gem 'rb-readline'

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

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'

我不認為新手能夠使用它是很重要的。 我建議在Gemfile中注釋掉那一行,運行bundle install並繼續你的rails學習冒險。

我通過以下方式解決了這個問題

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替換為要重新安裝的版本。

如果你趕時間,

打開你的byebug的history.rb

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

並注釋掉以下行,

require 'readline'

但是,建議使用byebug進行調試。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM