报错信息
/opt/homebrew/opt/postgresql@13/bin/postgres
ruby
Library not loaded: @loader_path/../../../../opt/icu4c/lib/libicui18n.73.dylib
Referenced from: <596D404A-9AE9-3B57-B2D6-C141A3878204> /opt/homebrew/Cellar/postgresql@13/13.12/bin/postgres
Reason: tried: '/usr/local/Cellar/mysql@5.7/5.7.36/bin/libicui18n.73.dylib' (no such file), '/libicui18n.73.dylib' (no such file), '/opt/homebrew/Cellar/postgresql@13/13.12/bin/../../../../opt/icu4c/lib/libicui18n.73.dylib' (no such file), '/usr/local/lib/libicui18n.73.dylib' (no such file), '/usr/lib/libicui18n.73.dylib' (no such file, not in dyld cache)
解决
- icu4c需要73版本,但是被升级到了74.2
ruby
brew info icu4c
==> icu4c: stable 74.2 (bottled) [keg-only]
- brew search出来的没有 icu4c@73.2这样的就版本,就是最新版
ruby
brew search icu4c
==> Formulae
icu4c ✔
- 找74.2安装位置
ruby
find /opt/homebrew -name 'icu4c.rb'
==> /opt/homebrew/Cellar/icu4c/74.2/.brew/icu4c.rb
- 手动下载旧版本并安装
ruby
wget https://github.com/unicode-org/icu/releases/download/release-73-2/icu4c-73_2-src.tgz
tar -zxf icu4c-73_2-src.tgz # 解压到当前目录
cd icu4c/source
./configure --prefix=/opt/homebrew/Cellar/icu4c/73.2 # 指定解压到74.2同目录下的73.2目录
make && make install
- 软链接到相应位置(根据报错信息调整位置和名字)
ruby
sudo ln -sf /opt/homebrew/Cellar/icu4c/73.2/lib/libicui18n.73.2.dylib /usr/local/lib/libicui18n.73.dylib
sudo ln -sf /opt/homebrew/Cellar/icu4c/73.2/lib/libicuuc.73.2.dylib /usr/local/lib/libicuuc.73.dylib
sudo ln -sf /opt/homebrew/Cellar/icu4c/73.2/lib/libicudata.73.2.dylib /usr/local/lib/libicudata.73.dylib
- 再重新启动
ruby
brew services restart postgresql@13
ps -ef | grep postgres #查看启动了