28

我试图开始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显示我需要icu4c63 版的 lib。但是brew list icu4c说我有 64.2 版。

我都试过了brew install icu4c 63brew install icu4c@63但没有运气。

有人可以帮忙吗?提前致谢。

4

4 回答 4

114

解决方案:

  1. cd到 Homebrew 的公式目录
  • 英特尔
    cd $(brew --prefix)/Homebrew/Library/Taps/homebrew/homebrew-core/Formula
    
  • M1
    cd $(brew --prefix)/Library/Taps/homebrew/homebrew-core/Formula
    
  1. 查找所需的提交(版本 63 for icu4c)以结帐
git log --follow icu4c.rb
  1. 结帐到新分支
git checkout -b icu4c-63 e7f0f10dc63b1dc1061d475f1a61d01b70ef2cb7
  1. 使用新版本重新安装库
brew reinstall ./icu4c.rb
  1. 切换到重装版本
brew switch icu4c 63.1
  1. 结帐回到主人
git checkout master

资料来源:

对于那些最终多次使用它的人的奖励:

# zsh
function hiicu63() {
  local last_dir=$(pwd)

  cd $(brew --prefix)/Homebrew/Library/Taps/homebrew/homebrew-core/Formula
  git checkout icu4c-63
  brew reinstall ./icu4c.rb
  brew switch icu4c 63.1
  git checkout master

  cd $last_dir
}
于 2019-04-24T10:43:03.113 回答
15

就像@dingusjh 说的那样,但是使用reinstall命令而不是install以防 brew 抱怨已经安装了 icu4c 并且您应该尝试extract. 完整的命令将是:

brew reinstall https://raw.githubusercontent.com/Homebrew/homebrew-core/e7f0f10dc63b1dc1061d475f1a61d01b70ef2cb7/Formula/icu4c.rb
于 2019-07-30T11:01:36.590 回答
2

这应该更容易。

brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/e7f0f10dc63b1dc1061d475f1a61d01b70ef2cb7/Formula/icu4c.rb
于 2019-06-20T21:34:22.443 回答
0

对我来说,重新安装 icu4c 有效brew reinstall icu4c

于 2021-03-23T08:11:21.953 回答