brew 升级后如何修复 libgit2

问题描述 投票:0回答:1

在 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;我尝试安装最新的命令行工具,重新启动计算机等。但我仍然遇到这个问题。

homebrew ls libgit2
1个回答
0
投票

这是我刚刚尝试过的一个答案,它有效,但我不确定这是最好的方法:

我按照“更新”中所述对我的问题进行了操作,即

cd /usr/local/opt/libgit2/lib/
,然后是
ln -s libgit2.1.7.2.dylib libgit2.1.6.dylib
。现在
ls
又开始工作了。

但这是解决这个问题的正确方法吗?感觉有点像黑客可能会导致其他问题。

© www.soinside.com 2019 - 2024. All rights reserved.