我也被 git 所困扰,导致可怕:
dyld: lazy symbol binding failed: Symbol not found: ___strlcpy_chk
Referenced from: /usr/local/bin/git
Expected in: /usr/lib/libSystem.B.dylib
dyld: Symbol not found: ___strlcpy_chk
Referenced from: /usr/local/bin/git
Expected in: /usr/lib/libSystem.B.dylib
在阅读了许多围绕更新 xCode (>2G) 或只是 xCode 的命令行工具部分 (~200M) 的成功执行建议后,我安装了命令行工具,这解决了我在命令行中使用 git 时遇到的问题。
有趣的是,我在 PyCharm 中遇到了同样的错误,即使在我进行了更新之后也是如此。我可以通过更改找到 git 的路径来解决这个问题(在 PyCharm->Preferences...->Version Control->Git 中,我将 /usr/local/bin/git 更改为 /usr/bin/git 附近顶部):
Image of PyCharm->Preferences...->Version Control->Git
我终于弄清楚到底发生了什么——为了向我从网络上获得的所有帮助表示敬意,想分享一下具体细节:
我发现我的机器上安装了两个版本的 git:
/usr/bin/git
/usr/local/git/bin/git
(also interestingly: /usr/local/bin/git -> ../git/bin/git)
将 /usr/bin 放在路径中的一些建议有些帮助,但可能无法解决安装的 git 版本不起作用的琐碎问题。
所以请注意:
$ pwd
/usr/local/git/bin
$./git --version
git version 2.8.1
还有:
$ pwd
/usr/bin
$ ./git --version
git version 1.8.5.2 (Apple Git-48)
Apple git 版本是可行的——这可能是通过从 xCode 安装命令行工具来安装的。注意每个路径。另请注意,您不必安装整个命令行工具,只需安装适当版本的 git。
此外,在 /usr/local/git/bin/ 目录下,还有一个 uninstall.sh 脚本。在该脚本中,它使用 pkgutil 卸载 git 版本。 (您应该使用此脚本进行卸载。)您可以运行此行来验证此实用程序是否有安装 git 的记录:
pkgutil --packages | grep com.git.pkg
这不是您想要的版本。你想要苹果版。使用 /usr/local/git/bin 中的脚本卸载损坏版本的 git。
卸载它可以确保您永远不会收到此错误,并且您将使用正确版本的 git。
希望对其他人有所帮助。信息很好但不完整。 PyCharm 几乎没有。