このエラーのため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を使い続けたいです。
私の質問を読んでくれてありがとう。
最近、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
Homebrewは素晴らしいですが、時々他の可動部分のいくつかとニースを再生しません。
brew update && brew upgrade
はlibreadline.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管理ライブラリで発生する可能性があることに注意してください( たとえば、これに対する私自身の答えを参照してください )
OSX、Ruby2.3.0、Rails5を使用しています。 gem 'rb-readline'
をGemfile
に追加すると、この問題が修正されました。
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にすべての依存関係を強制的にインストールするので、心配する必要はありません。
役に立てば幸いです。
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検索から取得されました。
Macを使用して、El Captain
バージョン、次のようにするだけで修正できます。
rvm reinstall your_Ruby_version
(rvm reinstall Ruby-2.3.1
)
これがお役に立てば幸いです!
githubユーザー@enderahmetyurtから取得しました(これが私のために働いた唯一のソリューションです)。
解決策:gem 'rb-readline'
をGemfileの開発グループおよびバンドルインストールに追加します。
これは、愚かな「readline」エラーの最も簡単な解決策です。
readlineをインストールして、Rubyを再インストールしてください