Ruby IRB未加载库libreadline

Ruby IRB未加载库libreadline,ruby,readline,irb,Ruby,Readline,Irb,试图进入irb,但突然收到此错误。尝试重新安装brew readline并重新链接,但没有成功。有什么建议吗 /Users/asahmed/.rbenv/versions/2.4.2/lib/ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in `require': dlopen(/Users/asahmed/.rbenv/versions/2.4.2/lib/ruby/2.4.0/x86_64-darwin17/readline.bundle

试图进入
irb
,但突然收到此错误。尝试重新安装brew readline并重新链接,但没有成功。有什么建议吗

/Users/asahmed/.rbenv/versions/2.4.2/lib/ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in `require': dlopen(/Users/asahmed/.rbenv/versions/2.4.2/lib/ruby/2.4.0/x86_64-darwin17/readline.bundle, 9): Library not loaded: /usr/local/opt/readline/lib/libreadline.7.dylib (LoadError)
  Referenced from: /Users/asahmed/.rbenv/versions/2.4.2/lib/ruby/2.4.0/x86_64-darwin17/readline.bundle
  Reason: image not found - /Users/asahmed/.rbenv/versions/2.4.2/lib/ruby/2.4.0/x86_64-darwin17/readline.bundle
    from /Users/asahmed/.rbenv/versions/2.4.2/lib/ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /Users/asahmed/.rbenv/versions/2.4.2/lib/ruby/2.4.0/irb/ext/save-history.rb:12:in `<top (required)>'
    from /Users/asahmed/.rbenv/versions/2.4.2/lib/ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /Users/asahmed/.rbenv/versions/2.4.2/lib/ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /Users/asahmed/.rbenv/versions/2.4.2/lib/ruby/2.4.0/irb/extend-command.rb:243:in `save_history='
    from /Users/asahmed/.rbenv/versions/2.4.2/lib/ruby/2.4.0/irb/context.rb:92:in `initialize'
    from /Users/asahmed/.rbenv/versions/2.4.2/lib/ruby/2.4.0/irb.rb:412:in `new'
    from /Users/asahmed/.rbenv/versions/2.4.2/lib/ruby/2.4.0/irb.rb:412:in `initialize'
    from /Users/asahmed/.rbenv/versions/2.4.2/lib/ruby/2.4.0/irb.rb:383:in `new'
    from /Users/asahmed/.rbenv/versions/2.4.2/lib/ruby/2.4.0/irb.rb:383:in `start'
    from /Users/asahmed/.rbenv/versions/2.4.2/bin/irb:11:in `<main>'
/Users/asahmed/.rbenv/versions/2.4.2/lib/ruby/2.4.0/rubygems/core\u ext/kernel\u require.rb:55:in'require':dlopen(/Users/asahmed/.rbenv/versions/2.4.2/lib/ruby/2.4.0/x86\u 64-darwin17/readline.bundle,9):库未加载:/usr/local/opt/readline/lib/lib/libreadline.7.dylib(LoadError)
引用自:/Users/asahmed/.rbenv/versions/2.4.2/lib/ruby/2.4.0/x86_64-darwin17/readline.bundle
原因:找不到映像-/Users/asahmed/.rbenv/versions/2.4.2/lib/ruby/2.4.0/x86_64-darwin17/readline.bundle
来自/Users/asahmed/.rbenv/versions/2.4.2/lib/ruby/2.4.0/rubygems/core\u ext/kernel\u require.rb:55:in'require'
来自/Users/asahmed/.rbenv/versions/2.4.2/lib/ruby/2.4.0/irb/ext/save history.rb:12:in`'
来自/Users/asahmed/.rbenv/versions/2.4.2/lib/ruby/2.4.0/rubygems/core\u ext/kernel\u require.rb:55:in'require'
来自/Users/asahmed/.rbenv/versions/2.4.2/lib/ruby/2.4.0/rubygems/core\u ext/kernel\u require.rb:55:in'require'
来自/Users/asahmed/.rbenv/versions/2.4.2/lib/ruby/2.4.0/irb/extend command.rb:243:in'save_history='10
from/Users/asahmed/.rbenv/versions/2.4.2/lib/ruby/2.4.0/irb/context.rb:92:在“初始化”中
from/Users/asahmed/.rbenv/versions/2.4.2/lib/ruby/2.4.0/irb.rb:412:in'new'
from/Users/asahmed/.rbenv/versions/2.4.2/lib/ruby/2.4.0/irb.rb:412:in'initialize'
from/Users/asahmed/.rbenv/versions/2.4.2/lib/ruby/2.4.0/irb.rb:383:in'new'
from/Users/asahmed/.rbenv/versions/2.4.2/lib/ruby/2.4.0/irb.rb:383:in'start'
from/Users/asahmed/.rbenv/versions/2.4.2/bin/irb:11:in`'

您可能已经升级了取代了
readline
库的内容,现在需要重新构建Ruby。当您运行
brew clean
时,这种情况很少发生,它删除了一个过时版本的依赖项,而没有意识到您的Ruby构建依赖于它。这是因为Rbenv无法与自制程序通信,所以它仍然需要该库

这通常很容易解决。尝试:

rbenv install 2.4.2
您可能还需要花时间更新到最新版本,即今天的2.5.3