聊聊一次 brew update 引发的血案-202502更新
内容提要
brew更新后,php因icu4c库更新无法使用。需调整路径至/opt/homebrew,卸载新版本后,使用brew reinstall ./icu4c.rb安装icu4c 71版本。可通过设置HOMEBREW_NO_VERIFY_ATTESTATIONS=true跳过验证。
关键要点
-
brew更新后,php因icu4c库更新无法使用。
-
路径需调整至/opt/homebrew,原路径中少了Homebrew。
-
需要重新安装icu4c库的71版本,使用git checkout切换到特定commit。
-
由于brew没有switch命令,需先卸载新版本再安装老版本。
-
安装时可能出现attestation verification failed错误,可以通过设置HOMEBREW_NO_VERIFY_ATTESTATIONS=true跳过验证。
延伸解读
路径调整的重要性
在brew更新后,路径的变化可能导致依赖库无法找到。用户需注意将路径调整至/opt/homebrew,以确保brew能够正确识别和使用相关库。
重新安装icu4c的步骤
由于brew不再支持switch命令,用户在需要降级icu4c版本时,必须先卸载新版本再安装旧版本。这个过程需要谨慎操作,以避免影响其他依赖。
跳过验证的风险
在安装过程中可能会遇到attestation verification failed错误。虽然可以通过设置HOMEBREW_NO_VERIFY_ATTESTATIONS=true来跳过验证,但这可能会带来安全风险,用户需谨慎使用。
延伸问答
brew更新后为什么php无法使用?
因为brew更新后,icu4c库的更新导致php无法使用。
如何调整brew的路径?
路径需调整至/opt/homebrew,原路径中少了Homebrew。
如何重新安装icu4c库的71版本?
需先卸载新版本的icu4c,然后使用brew reinstall ./icu4c.rb安装71版本。
为什么brew没有switch命令?
目前的brew已经没有switch命令,因此需要先卸载新版本再安装老版本。
安装时出现attestation verification failed错误怎么办?
可以通过设置HOMEBREW_NO_VERIFY_ATTESTATIONS=true来跳过验证。
如何切换到icu4c的特定commit?
使用git checkout切换到特定commit,例如e3317b86c11c644e88c762e03eb7b310c3337587。