聊聊一次 brew update 引发的血案-202502更新

之前写了这么一篇标题党,只是这个的确是比较头疼的事情,brew更新了下,php就不能用了,这里面主要是 icu4c 这个库的更新导致的,比如最近我又碰到了
, 正好又解决了下
因为后续brew在 m系列芯片的mac上有了更新,所以之前那篇需要有一些改动,
首先是这个目录 $(brew --prefix)/Homebrew/Library/Taps/homebrew/homebrew-core/Formula
目前这个替换符 $(brew --prefix) 还是有效的,不过路径变更为了 /opt/homebrew,但是后面的路径改变了,变成了 /Library/Taps/homebrew/homebrew-core/Formula
中间少了 Homebrew , 这是第一点,
第二点是对于这个文件 icu4c.rb 的重新安装
因为目前我还在使用 php 7.4 版本,依赖的是 icu4c 的 71 版本,所以就切换到类似于 e3317b86c11c644e88c762e03eb7b310c3337587 这个 commit id 这样,

1
git checkout -b icu4c-71  e3317b86c11c644e88c762e03eb7b310c3337587

但是由于目前的brew已经没有 switch 命令了,所以只能把最新版本的卸载掉,再进行安装老版本
先通过

1
brew uninstall icu4c

卸载老版本的 icu4c
然后再使用

1
brew reinstall ./icu4c.rb

安装 71 版本的,这样就能解决这个问题
第三个问题会在安装时出现
类似于

1
attestation verification failed: Failure while executing; `/usr/bin/env GH_TOKEN=****** /usr/local/bin/gh attestation verify /Users/xxx/Library/Caches/Homebrew/downloads/

这样的操作,可以通过设置常量的形式来解决

1
export HOMEBREW_NO_VERIFY_ATTESTATIONS=true

这样就不去做这个验证了