12

无法在运行 Big Sur 的新 MacBook 上运行 git

当我尝试运行 git 时,我收到以下错误:

xcrun: 错误: 无法加载 libxcrun (dlopen(/Library/Developer/CommandLineTools/usr/lib/libxcrun.dylib, 0x0005): could not use '/Library/Developer/CommandLineTools/usr/lib/libxcrun.dylib' 因为它不是兼容的拱门)。

我遵循了此处建议的强制加载哪些架构的方法,但仍然遇到错误。

现在,运行该建议后,我看到以下错误:

manpath:错误:无法加载 libxcrun (dlopen(/Library/Developer/CommandLineTools/usr/lib/libxcrun.dylib, 5): 找不到合适的图像。确实找到了:/Library/Developer/CommandLineTools/usr/lib/libxcrun。 dylib:mach-o,但架构错误 /Library/Developer/CommandLineTools/usr/lib/libxcrun.dylib:mach-o,但架构错误)。

我还在该错误消息之前安装了自制软件,尽管我不知道这将如何相关。

我真的缺乏与 Xcode 交互的经验。我觉得在我以前的 Mac 上我只是能够启动并运行,没有任何麻烦,但已经有一段时间了,所以也许我忘记了。

如何确定 Xcode 和命令行工具是否安装正确?如果不是,推荐的添加方式是什么?

我尝试安装 homebrew 以查看是否可以将其用作解决方法,并尝试使用它来安装 git,但收到以下错误:

'brew install git
Updating Homebrew...
错误:无法在英特尔默认前缀 (/usr/local) 的 ARM 处理器上安装 Homebrew!
请使用以下“替代安装”之一在 /opt/homebrew 中创建新安装:https ://docs.brew.sh/Installation

我正在使用带有新 M1 芯片的 MacBook Pro - 这可能是相关的吗?

4

6 回答 6

10

好吧,男孩会觉得我很愚蠢吗?问题是我没有安装 xcode。我很困惑,因为错误消息似乎表明 xcode 已经存在,并且我的机器上有一个 xcode 目录 - 也许该目录是为准备 xcode 而预先安装的?

无论如何,我通过从应用商店下载和安装 xcode 解决了我的问题。也许这会帮助别人

于 2021-02-05T21:28:00.527 回答
3

哇。现在我也觉得自己很傻。我也没有安装 xcode,但我肯定认为我安装了,因为我已经将它安装在我的旧机器上。显然,在将所有内容转移到新机器时,xcode 并没有随心所欲。

于 2021-09-16T17:18:18.987 回答
2
  1. 一、在App Store安装或更新xcode
  2. 然后,sudo xcodebuild -license在终端中运行
  3. agree在 Xcode 许可协议的末尾键入

现在可以使用git

于 2021-03-05T01:14:12.167 回答
1

尝试使用以下命令:

sudo rm -r /Library/Developer/CommandLineTools

它将删除命令行工具,然后立即自动安装软件。

于 2022-01-03T18:12:22.547 回答
1

您还可以从https://brew.sh/获取 git ,我认为这很常见!

通过编辑,我没有要测试的 Apple Silicon 芯片,但brew 文档说它应该安装到/opt/homebrew(字面意思是在该路径中解压缩)

但是,如果这是全新安装而不是升级现有安装,那么您可能无法摆脱使用 Xcode,因为您几乎肯定需要一些编译器或组件来安装一些软件包。现有安装应移动路径或删除并重建(收集所有顶级包brew leaves && brew list -1 --cask

brew install git

如果出现此警告,您可能还需要/想要提供解决方案

hint: Pulling without specifying how to reconcile divergent branches is
hint: discouraged. You can squelch this message by running one of the following
hint: commands sometime before your next pull:
hint:
hint:   git config pull.rebase false  # merge (the default strategy)
hint:   git config pull.rebase true   # rebase
hint:   git config pull.ff only>    # fast-forward only
hint:
hint: You can replace "git config" with "git config --global" to set a default
hint: preference for all repositories. You can also pass --rebase, --no-rebase,
hint: or --ff-only on the command line to override the configured default per
hint: invocation.

pull.ff only是一个合理的选择,因为它只会在您尝试拉动时发生本地冲突时才会快进(修改本地和远程)

git config --global pull.ff only
于 2021-02-05T21:59:05.467 回答
-2

我有这个问题。将我的 mac 更新到 Big Sur 11.3 修复了它。

于 2021-04-29T11:58:51.750 回答