[Ruby] readline に対して Library not loaded とエラーが発生する場合の対処

readline の LoadError が発生しています。

## 症状

例えば `pry` を実行すると、下記のエラーが表示されます。

“`prettyprinted
% pry
Sorry, you can’t use Pry without Readline or a compatible library.
Possible solutions:
* Rebuild Ruby with Readline support using `–with-readline`
* Use the rb-readline gem, which is a pure-Ruby port of Readline
* Use the pry-coolline gem, a pure-ruby alternative to Readline
/Users/****/.rbenv/versions/2.4.5/lib/ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in `require’: dlopen(/Users/****/.rbenv/versions/2.4.5/lib/ruby/2.4.0/x86_64-darwin18/readline.bundle, 9): Library not loaded: /usr/local/opt/readline/lib/libreadline.7.dylib (LoadError)
“`

## 対処

今回は直前に実行した `brew upgrade readline` が原因と考えられるので、ruby をインストールし直します。

rbenv, ruby-build のバージョンがあがっていることを念のため確認しておきます。

“`prettyprinted
% brew update
% brew doctor
% brew upgrade rbenv ruby-build
“`

現在利用している ruby のバージョンとインストール可能なバージョンを調査します。

“`prettyprinted
% ruby -v
% rbenv install -l | grep -E “^ 2″
“`

該当するバージョンをインストールし直します。

“`prettyprinted
% rbenv uninstall 2.4.5
% RUBY_CONFIGURE_OPTS=”–with-readline-dir=$(brew –prefix readline) –with-openssl-dir=$(brew –prefix openssl) –with-iconv-dir=$(brew –prefix libiconv)” rbenv install 2.4.5
“`

設定、リハッシュ、確認をしておきます。

“`prettyprinted
% rbenv global 2.4.5
% rbenv rehash
% rbenv versions
“`

## 補遺

> * [[Ruby] Homebrew + rbenv 環境の Ruby を 2.2.3 に変更する | deadwood](https://www.d-wood.com/blog/2015/11/03_7663.html)