Установите версию 63 icu4c с помощью Homebrew

Я пытался начать psql но получил

psql: could not connect to server: No such file or directory
    Is the server running locally and accepting
    connections on Unix domain socket "/tmp/.s.PGSQL.5432"?

Когда я использовал postgres -D /usr/local/var/postgres, получил следующую ошибку:

dyld: Library not loaded: /usr/local/opt/icu4c/lib/libicui18n.63.dylib
  Referenced from: /usr/local/bin/postgres
  Reason: image not found
[1]    2559 abort      postgres -D /usr/local/var/postgres

Быстрый поиск по libicui18n.63.dylib показал мне, что мне нужно icu4c lib с версией 63. Однако brew list icu4c говорит у меня версия 64.2.

Я пробовал оба brew install icu4c 63 & brew install icu4c@63 но не повезло.

Может кто-нибудь помочь, пожалуйста? Заранее спасибо.

4 ответа

Решение

Решение:

1) cd в каталог формул Homebrew

cd $(brew --prefix)/Homebrew/Library/Taps/homebrew/homebrew-core/Formula

2) Найти нужный коммит (версия 63 для icu4c) чтобы проверить

git log --follow icu4c.rb

3) Оформить заказ на новую ветку

git checkout -b icu4c-63 e7f0f10dc63b1dc1061d475f1a61d01b70ef2cb7

4) Переустановите библиотеку с новой версией

brew reinstall ./icu4c.rb

5) Переключиться на переустановленную версию

brew switch icu4c 63.1

6) Оформить заказ обратно к мастеру

git checkout master

Источники:

Как говорит @dingusjh, но используйте reinstall команда вместо install если brew жалуется на то, что icu4c уже установлен, и вы должны попытаться extract, Полная команда будет тогда:

brew reinstall https://raw.githubusercontent.com/Homebrew/homebrew-core/e7f0f10dc63b1dc1061d475f1a61d01b70ef2cb7/Formula/icu4c.rb

Это должно быть проще.

brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/e7f0f10dc63b1dc1061d475f1a61d01b70ef2cb7/Formula/icu4c.rb

У меня переустановка icu4c сработала brew reinstall icu4c

Другие вопросы по тегам