LoginSignup
0
0

More than 3 years have passed since last update.

エラーへの対処法 dyld: Library not loaded: /usr/local/opt/readline/lib/libreadline.X.dylib

Last updated at Posted at 2019-04-20

macOS でアプリケーションを実行しようとした時に次のようなエラーが出ました。
解決法を記載しておきます。

dyld: Library not loaded: /usr/local/opt/readline/lib/libreadline.8.dylib
dyld: Library not loaded: /usr/local/opt/readline/lib/libreadline.7.dylib

環境

  • macOS Mojave 10.14

影響を受けたソフトウェア

私の場合は下記のソフトウェアでエラーが出ました。
ほかのプログラムでもエラーの出ることがあります。

  • R
  • psql

原因 (予想)

各ソフトウェアをコンパイルした時のライブラリのバージョンと、エラーが出た時のライブラリのバージョンが異なるのが原因と思われます。
これは brew update でライブラリ類をアップデートしたときに起こります。

解決策

一時的な解決策

次のようなコマンドを実行して、ライブラリのバージョンを変更します。

brew switch readline 7.0.5

このようにして、使用されるライブラリのバージョンを変更するとエラーは起きなくなります。
バージョンがわからない場合は、例えば brew switch readline 7.0.0 のように適当にバージョンを決めて入力すれば、 エラーメッセージでどのバージョンが選択可能なのか教えてくれます。次のように。

 % brew switch readline 7.0.0
Error: readline does not have a version "7.0.0" in the Cellar.
readline installed versions: 7.0.5, 8.0.0

もっと丁寧に調べるには、次のコマンドでバージョンを調べます。

 % brew info readline                                                                                                                                                                                                                                                                                                                                               [2/1975]
readline: stable 8.0.0 (bottled) [keg-only]                                                                                                                                                                                                                                                                                                                                 
Library for command-line editing                                                                                                                                                                                                                                                                                                                                            
https://tiswww.case.edu/php/chet/readline/rltop.html
/usr/local/Cellar/readline/7.0.5 (46 files, 1.5MB)
  Poured from bottle on 2018-07-10 at 12:07:02
/usr/local/Cellar/readline/8.0.0 (48 files, 1.5MB)
  Poured from bottle on 2019-04-11 at 19:55:26
...

ただし、 brew update 前とそのあとでインストールしたソフトウェアを同時に使う時には、バージョンの切り替えがかなり面倒になります。

恒久的な解決策

psql でエラーが出た時に、この方法で解決しました。

psql は brew install postgresql でインストールしたものです。
そこで、 使用したい readline のバージョンに brew switch で変更したあとで、 brew reinstall postgresql を実行して再インストールしました。
これにより、 psql を問題なく使用できるようになりました。

関連

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0