[mac m1]brew升级后icu4c跟着升级,导致启动不了mysql、postgresql

报错信息

/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 #查看启动了
相关推荐
半兽先生27 分钟前
MySQL + Milvus vs PostgreSQL + pgvector:AI 应用向量检索架构选型终极指南
mysql·postgresql·milvus
qq_3494479529 分钟前
搭建mysql主从数据库
数据库·mysql
l1t3 小时前
DeepSeek 4.1总结的Tom Lane 谈塑造 Postgres 三十年历程的架构决策
开发语言·数据库·postgresql·架构
PHP实战开发录5 小时前
PHP事务异常后为什么数据还写进去了
mysql·php·开发
呆萌很11 小时前
MySQL 8.4 LTS 完整安装教程
数据库·mysql
Thomas214313 小时前
mysql 索引面试复习
数据库·mysql·面试
小袁拒绝摆烂14 小时前
一条 SQL 从 30 秒到 300 毫秒:聊聊 MySQL 的 Hash Join
sql·mysql·哈希算法
敲代码的嘎仔16 小时前
自己设计了一个兑换码算法:自增ID + Base32转码 + 按位加权签名 + 异或混淆,面试被追问细节时终于不用慌了
java·数据库·mysql·算法·微服务·面试·职场和发展
—Miss. Z—17 小时前
计算机三级数据库技术—应用题2️⃣
数据库·mysql
PrudentWoo17 小时前
PostgreSQL 12 登录失败:role “postgres“ is not permitted to log in 的排查与修复
数据库·postgresql