升级MacOS Sonoma后重装XAMPP遇libavif依赖缺失错误
错误详情
dyld[45923]: 未加载库: /usr/local/opt/libavif/lib/libavif.15.dylib
引用自: <735019D8-AF6E-3CD1-9AD4-3BE47CB22D4F> /usr/local/Cellar/gd/2.3.3_5/lib/libgd.3.dylib
原因: 尝试路径: '/usr/local/opt/libavif/lib/libavif.15.dylib' (文件不存在), '/System/Volumes/Preboot/Cryptexes/OS/usr/local/opt/libavif/lib/libavif.15.dylib' (文件不存在), '/usr/local/opt/libavif/lib/libavif.15.dylib' (文件不存在), '/usr/local/lib/libavif.15.dylib' (文件不存在), '/usr/lib/libavif.15.dylib' (文件不存在,不在dyld缓存中), '/usr/local/Cellar/libavif/1.0.1/lib/libavif.15.dylib' (文件不存在), '/System/Volumes/Preboot/Cryptexes/OS/usr/local/Cellar/libavif/1.0.1/lib/libavif.15.dylib' (文件不存在), '/usr/local/Cellar/libavif/1.0.1/lib/libavif.15.dylib' (文件不存在), '/usr/local/lib/libavif.15.dylib' (文件不存在), '/usr/lib/libavif.15.dylib' (文件不存在,不在dyld缓存中)
问题原因
错误源于libgd库依赖的旧版本libavif.15.dylib丢失——MacOS Sonoma升级或XAMPP重装过程中,Homebrew管理的库版本更新,导致旧版本依赖路径失效。
解决步骤
先检查当前libavif的安装状态:
brew info libavif确认当前安装的版本(大概率是1.0+,不再提供旧版的libavif.15.dylib)。
重新安装
libgd,让它重新关联系统中最新的libavif库:brew reinstall gd这个操作会重新编译libgd,适配当前系统的库版本,修复依赖链。
检查PHP执行路径,确保使用XAMPP自带的PHP而非系统PHP:
执行which php,如果输出是/usr/local/bin/php(系统/Homebrew的PHP),需要切换到XAMPP的PHP路径:export PATH=/Applications/XAMPP/xamppfiles/bin:$PATH若要永久生效,把上述命令添加到
~/.zshrc(Zsh)或~/.bash_profile(Bash)文件末尾,重启终端即可。若上述步骤无效,彻底卸载并重装相关库:
brew uninstall --ignore-dependencies gd libavif brew install gd
内容的提问来源于stack exchange,提问作者Shafiur Rahman Sifat

