Ключова проблема полягає в тому, що ваш postgresql намагався знайти, libreadline.6.2.dylib
але ваша readline
версія - це версія 7.0
, тому лише 7 балів пов'язані.
Я не думаю, що оновлення 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
У цьому випадку вся пов'язана lib стає до 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
Однак якщо у вас є різні додатки, які використовують різну версію рядка читання, я думаю, вам варто подумати про оновлення.
Оновлення: 02.02.2019
Що робити, якщо стара версія не встановлена?
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
- Скиньте репо
Виконуючи ці дії, ви можете встановити стару версію формули.