You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Homebrew升级后libgit2版本不兼容致exa报错的解决办法

修复exa因libgit2版本不匹配导致的dyld加载错误

问题场景

在macOS 13.2的zsh环境中执行exa命令时,触发以下动态库加载错误:

dyld[15164]: Library not loaded: /usr/local/opt/libgit2/lib/libgit2.1.6.dylib
Referenced from: <14346135-E664-31AF-A80B-05A5335ED5D7> /usr/local/Cellar/exa/0.10.1_1/bin/exa
Reason: tried: '/usr/local/opt/libgit2/lib/libgit2.1.6.dylib' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/usr/local/opt/libgit2/lib/libgit2.1.6.dylib' (no such file), '/usr/local/opt/libgit2/lib/libgit2.1.6.dylib' (no such file), '/usr/local/lib/libgit2.1.6.dylib' (no such file), '/usr/lib/libgit2.1.6.dylib' (no such file, not in dyld cache), '/usr/local/Cellar/libgit2/1.7.2/lib/libgit2.1.6.dylib' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/usr/local/Cellar/libgit2/1.7.2/lib/libgit2.1.6.dylib' (no such file), '/usr/local/Cellar/libgit2/1.7.2/lib/libgit2.1.6.dylib' (no such file), '/usr/local/lib/libgit2.1.6.dylib' (no such file), '/usr/lib/libgit2.1.6.dylib' (no such file, not in dyld cache)
zsh: abort exa -1 --classify --group-directories-first

问题源于Homebrew升级后,libgit2被更新至1.7.2版本(对应库文件libgit2.1.7.2.dylib),但当前安装的exa 0.10.1_1依赖旧版libgit2.1.6.dylib,导致动态库查找失败。用户已尝试brew unlink/link libgit2、卸载重装libgit2、安装最新命令行工具、重启电脑等操作,问题未解决。


修复方法

方法一:重装exa(推荐)

重装exa会让Homebrew重新适配当前系统的依赖库版本,彻底解决版本不匹配问题:

  1. 卸载现有exa:
    brew uninstall exa
    
  2. 清理Homebrew缓存(可选,确保拉取最新安装包):
    brew cleanup exa
    
  3. 重新安装exa:
    brew install exa
    

方法二:创建符号链接临时兼容(备选)

如果暂时不想重装exa,可通过符号链接让系统“误以为”旧版库存在,但存在兼容性风险——新版libgit2可能有API变更,可能导致exa出现未知bug或崩溃:

  1. 进入libgit2的库目录:
    cd /usr/local/opt/libgit2/lib/
    
  2. 创建旧版文件名指向新版库的符号链接:
    ln -s libgit2.1.7.2.dylib libgit2.1.6.dylib
    
  3. 确保主库链接指向最新版本:
    ln -sf libgit2.1.7.2.dylib libgit2.dylib
    

若后续exa出现异常,直接删除符号链接即可:

rm /usr/local/opt/libgit2/lib/libgit2.1.6.dylib

方法三:安装指定版本libgit2(不推荐)

安装旧版libgit2可能解决依赖问题,但会影响其他依赖libgit2的工具,导致连锁问题:

  1. 查找libgit2的历史版本:
    brew search libgit2 --versions
    
  2. 安装找到的1.6.x版本(替换1.6.0为实际版本号):
    brew install libgit2@1.6.0
    
  3. 强制链接该版本到系统:
    brew link libgit2@1.6.0 --force
    

内容的提问来源于stack exchange,提问作者Alex Roberts

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.30 03:10:36