在 Mac OS 13.2 上,在
zsh
中,ls
返回以下错误消息:
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 版本是更新的版本,但一切仍然调用旧版本:我去了
cd /usr/local/opt/libgit2/lib/
并发现(使用 Finder,当然不是 ls
)这目录包含 libgit2.1.7.2.dylib
但没有 libgit2.1.6.dylib
。也许我应该为旧版本创建一个符号链接?还是会导致其他问题?
我尝试了
brew unlink libgit2
然后brew link libgit2
;我尝试了 brew uninstall libgit2
然后 `brew install libgit2;我尝试安装最新的命令行工具,重新启动计算机等。但我仍然遇到这个问题。
这是我刚刚尝试过的一个答案,它有效,但我不确定这是最好的方法:
我按照“更新”中所述对我的问题进行了操作,即
cd /usr/local/opt/libgit2/lib/
,然后是ln -s libgit2.1.7.2.dylib libgit2.1.6.dylib
。现在ls
又开始工作了。
但这是解决这个问题的正确方法吗?感觉有点像黑客可能会导致其他问题。