web-dev-qa-db-ja.com

readlineのエラーのため、「Railsコンソール」を実行できません

このエラーのためRails consoleを実行できません:

localhost:TwitterForZombies wiz$ Rails c
/Users/wiz/.rbenv/versions/1.9.3-p194/lib/Ruby/1.9.1/irb/completion.rb:9:in `require': dlopen(/Users/wiz/.rbenv/versions/1.9.3-p194/lib/Ruby/1.9.1/x86_64-darwin12.2.1/readline.bundle, 9): Library not loaded: /usr/local/opt/readline/lib/libreadline.6.2.dylib (LoadError)
  Referenced from: /Users/wiz/.rbenv/versions/1.9.3-p194/lib/Ruby/1.9.1/x86_64-darwin12.2.1/readline.bundle
  Reason: image not found - /Users/wiz/.rbenv/versions/1.9.3-p194/lib/Ruby/1.9.1/x86_64-darwin12.2.1/readline.bundle
    from /Users/wiz/.rbenv/versions/1.9.3-p194/lib/Ruby/1.9.1/irb/completion.rb:9:in `<top (required)>'
    from /Users/wiz/.rbenv/versions/1.9.3-p194/lib/Ruby/gems/1.9.1/gems/railties-3.2.9/lib/Rails/commands/console.rb:3:in `require'
    from /Users/wiz/.rbenv/versions/1.9.3-p194/lib/Ruby/gems/1.9.1/gems/railties-3.2.9/lib/Rails/commands/console.rb:3:in `<top (required)>'
    from /Users/wiz/.rbenv/versions/1.9.3-p194/lib/Ruby/gems/1.9.1/gems/railties-3.2.9/lib/Rails/commands.rb:38:in `require'
    from /Users/wiz/.rbenv/versions/1.9.3-p194/lib/Ruby/gems/1.9.1/gems/railties-3.2.9/lib/Rails/commands.rb:38:in `<top (required)>'
    from script/Rails:6:in `require'
    from script/Rails:6:in `<main>'

私はhomebrew経由でreadlineをインストールしました。 rvmの代わりにrbenvを使い続けたいです。

私の質問を読んでくれてありがとう。

85
wiz

最近、homebrewとlibreadline.7.x.dylib/libreadline.6.x.dylibで同じ問題が発生しました

私はそれを実行して解決しました:

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

ソース: https://github.com/Rails/rails/issues/26658

278
wmmc

Homebrewは素晴らしいですが、時々他の可動部分のいくつかとニースを再生しません。

brew update && brew upgradelibreadline.7.x.dylib自動的に削除しながらlibreadline.6.x.dylib、これはRubyはまだ依存していた。

問題を解決するもっと賢い方法があるかもしれませんが、ブルートフォースは私のために働きました:

$ rbenv uninstall 2.3.1
$ rbenv install 2.3.1
$ cd /path/to/my/app
$ bundle

上記では、rbenvのRuby-buildそして、もちろん、bundler;置換2.3.1 Ruby使用しているバージョン).

同様の問題は、異なるhomebrew管理ライブラリで発生する可能性があることに注意してください( たとえば、これに対する私自身の答えを参照してください

58
Giuseppe

OSX、Ruby2.3.​​0、Rails5を使用しています。 gem 'rb-readline'Gemfileに追加すると、この問題が修正されました。

25
Meekohi

Ruby 2.1.0、およびRails 4.0。した:

rvm cleanup all
rvm autolibs enable
rvm install 2.1.0 

他の方法:

brew update
brew uninstall readline
brew install readline

Autolibsコマンドは、RVMにすべての依存関係を強制的にインストールするので、心配する必要はありません。

役に立てば幸いです。

21
Hoa Hoang

Sachinが示唆したように、readlineをインストールしてからRubyを再インストールするのが理想的なアプローチです。しかし、rbenvの詳細は少し異なります。ファイルパスを考えると、Macそのため、以下が役立ちます。

brew install readline Ruby-build
env CONFIGURE_OPTS=--with-readline-dir=`brew --prefix readline` rbenv install 1.9.3-p286

これは、 Ruby-build Wiki および簡単なGoogle検索から取得されました。

20
pat

Macを使用して、El Captainバージョン、次のようにするだけで修正できます。

rvm reinstall your_Ruby_version

rvm reinstall Ruby-2.3.1

これがお役に立てば幸いです!

8
violentr

githubユーザー@enderahmetyurtから取得しました(これが私のために働いた唯一のソリューションです)。

解決策:gem 'rb-readline'をGemfileの開発グループおよびバンドルインストールに追加します。

これは、愚かな「readline」エラーの最も簡単な解決策です。

1
whataboutme1

readlineをインストールして、Rubyを再インストールしてください

https://rvm.io/packages/readline/

0
Sachin Singh