Git 命令在 Mac 终端中不起作用:"dyld: Symbol not found: ___strlcpy_chk"错误



我正在使用命令git clonessh://....并在终端上得到以下错误:

dyld: lazy symbol binding failed: Symbol not found: ___strlcpy_chk
Referenced from: /usr/local/git/bin/git
Expected in: /usr/lib/libSystem.B.dylib
dyld: Symbol not found: ___strlcpy_chk
Referenced from: /usr/local/git/bin/git
Expected in: /usr/lib/libSystem.B.dylib
Trace/BPT trap: 5

我需要从Xcode安装命令行工具。为此-

  1. 打开Xcode并点击Cmd+,
  2. 单击下载
  3. 安装命令行工具

http://www.hongkiat.com/blog/mountain-lion-git-fix/

也有同样的问题。我有OS X 10.8,所以XCode不是我的解决方案。

原来我的Git版本与我的OS X版本不兼容

这些信息可能会有所帮助(在谷歌上找到:):

如果您正在运行:

  • 10.6雪豹:git-2.2.1英寸-环球雪豹
  • 10.7狮子:git-2.2.1英寸的环球雪豹
  • 10.8山狮:git-2.2.1英寸
  • 10.9小牛队:git-2.2.1
  • 10.10约塞米蒂:git-2.2.1

您可以从这里下载:http://sourceforge.net/projects/git-osx-installer/files/

我也遇到了同样错误的问题。我尝试了PATH和.bash_profile技巧(没有帮助)。我对安装Xcode和其他人建议的"命令行工具"并不感兴趣。但我偶然发现了一半的答案。

首先,我卸载了当前版本的Git(1.9.2)。然后我发现可以自己安装命令行工具,而无需安装Xcode:

Xcode page:  https://developer.apple.com/xcode/
Downloads near the top
Scroll down to 'Additional Tools'->'View Downloads'
Command Line Tools (OS X Mountain Lion)

在安装了这些之后,执行"git-version"返回如下:

git version 1.8.5.2 (Apple Git-48)

在此过程中,文件"/usr/lib/libSystem.B.dylib"未受影响。或者至少,文件大小和日期没有改变。由于这个库没有改变,我推测修复问题的不是Xcode,而是安装的Git版本。

我考虑过测试这个理论,并为各种版本的Git找到了旧的源代码,但没有时间编译/安装/测试每一个,看看这个理论是否正确。我没有看到卸载"命令行工具"的简单方法。也许其他人更勇敢。:)

--J

还可以查看https://stackoverflow.com/a/19457333/894120只需要制作一个.bash_profile,对我有用。

问题是git维护程序只支持MaxOS10.9(mavericks)。如果您有早期版本,则不能使用它们的分发版。

由工作中的其他人推荐——使用(家庭)酿造。基本上,安装了brew后,您只能使用:

brew install git

它会给你一个最新的版本。随后获得新版本使用:

brew upgrade git

现在brew本身使用git,所以这次安装可能是递归的-我最近为了另一个目的安装了它,花了我几个小时-但一旦你有了它,一切都会好起来的。我只能说,当我最初安装brew时,"git"仍然指的是1.8.x苹果版本,通过这次更改,我现在得到了git v2.1.0。

我也受到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->首选项…->版本控制->git中,我将/usr/local/bin/git更改为顶部附近的/usr/bin/git):

PyCharm的图像->首选项…->版本控制->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几乎什么都没有。

最新更新