libreadline.6.2.dylib
重要な問題は、postgresqlがreadline
バージョンを見つけようとしていた7.0
ため、7 の lib のみがリンクされていることです。
postgresql のアップグレードは良い考えではないと思います。簡単ではなく、特にデータベース データが既にある場合は、多くの問題が発生する可能性があります。
私がしていることは、のバージョンを切り替えることですreadline
。を確認brew info readline
すると、さまざまなバージョンが見つかります。私のバージョンは6.3.8
であるため、次を実行してそのバージョンに切り替えます。
$ brew switch readline 6.3.8
6.3.8 に変更され、リンクが作成されます。
Cleaning /usr/local/Cellar/readline/6.3.8
Cleaning /usr/local/Cellar/readline/7.0.1
Opt link created for /usr/local/Cellar/readline/6.3.8
この場合、リンクされたすべてのライブラリが 6 バージョンになり、コマンド ラインが機能します。
$ ls /usr/local/opt/readline/lib/
libhistory.6.2.dylib libhistory.dylib libreadline.a
libhistory.6.3.dylib libreadline.6.2.dylib libreadline.dylib
libhistory.6.dylib libreadline.6.3.dylib
libhistory.a libreadline.6.dylib
ただし、異なるバージョンの readline を使用している別のアプリがある場合は、アップグレードを検討する必要があると思います。
更新: 2019 年 6 月 2 日
古いバージョンがインストールされていない場合はどうなりますか?
Homebrew
古いバージョンのフォーミュラをインストールする方法を提供していません。また、v2.0.0 以降、brew cleanup
デフォルトの動作として 30 日ごとに実行されます。したがって、古いバージョンを誤って更新brew
して削除する可能性があります。
古いバージョンをインストールする手順は次のとおりです。
homebrew-core
ディレクトリに移動:
$ cd $(brew --repository)/Library/Taps/homebrew/homebrew-core
- 古い式のハッシュを確認します。
$ git log master -- Formula/readline.rb
- ハッシュ値の対応するバージョンを見つける
commit 1dd4221c35716d6bec363ad3425ef93ffe7d9b9f
Author: BrewTestBot <brew-test-bot@googlegroups.com>
Date: Wed Aug 15 21:51:16 2018 +0000
readline: update 7.0.5 bottle.
- 古い式へのチェックアウト:
$ git checkout 1dd4221c35716d6bec363ad3425ef93ffe7d9b9f Formula/readline.rb
- 数式を再インストールします。
$ brew reinstall readline
- レポをリセットする
これらの手順に従って、古いバージョンのフォーミュラを再インストールできます。