Git 在 macOS 升级后无法工作(“xcrun:错误:无效的活动开发人员路径 (/Library/Developer/CommandLineTools)”)

3442

我已升级到最新的操作系统,并/或者重新启动了计算机(每次主要更新都会发生这种情况,但这次只是在2022年9月13日重新启动了计算机)。

今天早上我在命令行中导航到我的工作代码库,在我的MacBook Pro上输入"git status"时出现了一个错误:

(在2022年9月,这个错误是完全不同的,但我没有记录下来)

xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun

Git无法工作!

我该如何修复Git和命令行工具?


13
可能是重复问题:https://apple.stackexchange.com/questions/254380/why-am-i-getting-an-invalid-active-developer-path-when-attempting-to-use-git-a 当您尝试使用git或其他开发工具时,可能会遇到“无效活动开发人员路径”的错误消息。这通常是由于您的Xcode版本已更新或重新安装导致的。您可以通过在终端中运行以下命令来解决此问题:xcode-select --reset这将重置Xcode的路径,并解决与开发工具相关的问题。 - markroxor
245
说实话,这个问题是苹果应该负责处理的。他们创造了它,他们应该修复它!要求每个人每次出现这种情况都运行那个命令并不是一个好的/正确的选择。更不用说你需要为Git下载那个庞大的块了。 - windmaomao
6
我在升级到Big Sur时没有遇到这个问题。这个问题只在我最初撰写这篇问答的那一年出现过。我只是每年更新它以包括最新的更改。 - dustbuster
13
我们应该从苹果公司得到支付来调试他们的代码! - Nir
32
我升级到了 Monterey,遇到了同样的问题。苹果公司真的需要研究一下这个问题。 - thisisshantzz
显示剩余17条评论
39个回答

5029
问题在于Xcode命令行工具需要更新,因为MacOs进行了更新。
  • 在Sonoma上没有遇到这个问题。
    • 也许苹果修复了这个过程?
  • 已经为Ventura更新。

在重新启动后打开终端后,我尝试进入我的代码,并执行git status,但是我收到了一个错误和命令行软件协议的提示:

所以按空格键直到你到达[agree, print, cancel]选项,小心地按空格键向下滚动到末尾,如果你错过了,你必须运行一个命令来恢复它。使用sudo xcodebuild -license再次进入。

在向下滚动时要小心,并输入agree,然后按回车键,它将开始更新。

Xcode software license

然后我在安装后尝试使用git,它提示我再次安装Xcode工具。
我按照我以前几年的建议(见下文),访问https://developer.apple.com/download/all并下载了"Command Line Tools for Xcode 14"(您需要使用您的Apple ID登录并输入MFA代码,所以请确保您需要的所有设备都方便使用。然后选择"Command Line Tools for Xcode 14",或者如果您想进入alpha或beta版本,那就由您决定。但对于软件开发人员来说,稳定版本可能是最好的选择。

developer download page selection for "Command Line Tools for Xcode 14"

你要么从CLI或开发者页面下载工具,然后才能使用git,否则你会陷入提示和下载的循环中。
重新启动将打破循环,并完成CLI工具(包括git)的安装,以便你可以继续工作。
以前的解决方案可能在今天已经不再有效,因为下载页面发生了重大变化:
以前几年的解决方案,可能第二个最有帮助。
*** 解决方案1 ***:
返回终端并输入:
xcode-select --install

您将会收到以下输出结果:
xcode-select: note: install requested for command line developer tools

然后,您将在一个窗口中收到提示,更新Xcode命令行工具。(可能需要一段时间)

打开一个新的终端窗口,您的开发工具应该会恢复正常。

补充:对于任何主要或次要的更新,您都需要更新命令行工具,以便使其再次正常工作。检查Xcode是否有任何更新。这不仅适用于Mojave...

之后重新启动终端

或者,如果失败了,可能会出现一个弹出框显示“服务器上找不到软件”,请继续尝试解决方案2。

*** 解决方案2:(首选方法)

如果您运行xcode-select --install命令,但找不到该软件,请登录Apple Developer,并通过网页安装。

在此处登录或注册:

https://developer.apple.com/download/more/

在下载列表中寻找:"Command Line Tools for Xcode 14.x",然后点击 dmg 文件进行下载。(请参考上面的图片)无论哪种方式,您可能最终会进入一个苹果下载网页。

76
在我升级到Mojave后,首次启动Microsoft Visual Studio Code时,它抱怨Git未安装,这一问题已得到解决。起初我认为是VS Code的问题,但实际上是这个SO问题中的问题。安装Xcode命令行工具后重启VS Code即可解决该问题。 - Mark
409
希望Xcode的更新能够包含在操作系统更新中。每次升级都会发生类似的事情,很烦人。 - mvndaai
24
确实很烦人。检查Xcode安装情况并在操作系统更新期间进行更新,这应该很容易添加。每次苹果公司发布操作系统更新都会有问题。你可能认为他们早就应该解决了。 - zgr024
21
对于在 PHPStorm 中使用 Git 的任何人,需要在运行 xcode-select --install 后重新启动 PHPStorm 才能正常工作。 - Daan van den Bergh
73
这个解决方案对我在 Mac Catalina 升级后也有效。太棒了! - Shahnaz Khan
显示剩余57条评论

374

在尝试更新时,我遇到了一些错误,提示软件无法从更新服务器获取。

xcode-select --install

对我来说解决问题的方法是前往https://developer.apple.com/download/more/,下载Command Line Tools (macOS 10.14) for Xcode 10并手动安装。之后,当您打开新终端时,错误信息应该已经消失了。


适用于 macOS Ventura 13.0.1 (2022年11月更新)

安装Xcode 14.1命令行工具


15
这应该是正确的答案,我在三台机器上尝试过了,@dustbuster的回答已经不再有效,并显示“尝试时软件无法从更新服务器获得”。 - user2577923
9
对我来说,这个问题的解决方法是 @High6 在下面提供的答案,但我的电脑提示“服务器上没有可用的软件”。执行 xcode-select --reset 命令后问题得以解决。 - briankip
2
已经安装了Xcode,但仍然存在问题。这个方法非常有效...应该被选为最佳答案。或者应该作为顶部答案的补充。 - AmitM
2
这对于macOS 10.15.2也适用。尽管我不得不选择“Xcode 11.3的命令行工具”,因为Xcode 10.1不可用。 - Rachel Lanman
在Mac OS 10.15.6 Catalina上,这是适合我的解决方案。(如果您使用的是Catalina,则需要Xcode 12的命令行工具-跳过庞大的Xcode 12应用程序下载) - jkix
显示剩余6条评论

181

对于我来说,在Mojave上xcode-select --reset是解决方案。


7
不知何故,“xcode-select --install”命令结果是服务器上没有可用软件。但是这个命令可以使用。 - Yan Zhu
这个对我有效,我在安装新的 Xcode 后运行了这个命令。 - Sunho Hong
5
我刚从Mac OS X 10.14(Mojave)升级到了MacOS 10.15(Catalina),遇到了这个问题,这个解决方案很好用,不需要运行“xcode-select --install”。 - OJVM
2
在我的Catalina上也可以工作,但需要添加“sudo”。 - gafi
4
在我进行从Mojave到Catalina的MacOS升级时,sudo xcode-select --reset命令对我有用。 - Chris Gillatt
显示剩余8条评论

112

除了dustbuster的回答,我还需要使用以下命令设置到Xcode文件夹的路径:

sudo xcode-select -switch /Library/Developer/CommandLineTools

2
是的,对我来说也一样,@dustbuster 可能合并这些答案是个好主意。 - James
好的,这个对我解决了。尝试过 xcode-select --install 和手动下载和安装,但都没有解决方案。注意我等待并升级到了10.14.1版本。 - mpiktas
4
如果您已经安装了Xcode,则不需要单独安装命令行工具。只需确保运行xcode-select --switch /Applications/Xcode.app/Contents/Developerxcode-select --reset,这样终端将使用Xcode内部的命令行工具而不是由“命令行工具”独立安装程序安装的工具。从那时起,应用商店将自动更新Xcode,您的工具也将保持最新状态。 - uliwitness
经过了很多答案的尝试,这个在 Mojave 更新后对我有效,谢谢! - mobcity zkore

95

我从Mojave系统升级到Big Sur系统后遇到了相同的错误:

the command

xcode-select --install

非常有效


65

在升级到 Mac Catalina 后,我遇到了同样的问题,需要运行几个命令来修复它。

首先开始:

xcode-select --install

它并没有解决问题,必须在sudo下运行以下命令:

sudo xcode-select --reset

然后,在将路径显式设置为活动开发者目录之后,最终得以修复:

sudo xcode-select -s /Library/Developer/CommandLineTools

注意:如果您安装了Xcode,则可能需要在此情况下指定Xcode目录,应该是这样的:

xcode-select -s /Applications/Xcode.app


如果您已经安装了Xcode,则不需要单独安装命令行工具。只需确保运行xcode-select --switch /Applications/Xcode.app/Contents/Developerxcode-select --reset,这样终端将使用Xcode内部的命令行工具而不是由“命令行工具”独立安装程序安装的工具。从那时起,应用商店将自动更新Xcode,您的工具也将保持最新状态。 - uliwitness
Xcode选择它,因为我只安装了Beta版本! - gurehbgui
首先尝试运行 sudo xcode-select --reset,然后再运行 --install - Thomas Beauvais

54

对我而言,以下方法有效:

sudo xcode-select --reset

然后就像@High6的答案中所述:

sudo xcodebuild -license

这将显示一份许可证,我认为是一些Xcode许可证。使用空格键(或鼠标)向下滚动到底部,然后点击同意

这是我在MacOS Mojave v 10.14上测试成功的方法。


你的解决方案在我使用的 MacOS 10.13 High Sierra 上有效。谢谢你。 - Daniel
如果您已经安装了Xcode,那么这是正确的解决方案。终端将使用Xcode内部的命令行工具,而不是由“命令行工具”独立安装程序安装的工具。从那时起,应用商店将自动更新Xcode,您的工具也将保持最新状态。 - uliwitness
这个方法适用于BigSur以及Monterey beta分支。比每次更新都要下载和安装巨大的新Xcode版本容易得多。 - jacksonbenete
这对我很有用,解决了我从运行Catalina的旧iMac迁移到运行Monterey的闪亮新Apple Silicon MacBook Pro时,VSCode无法找到Git的问题。 - VirtualWolf

54
如果您使用xcode,请安装它(大约12GB)。
xcode-select --install

否则安装最新的命令行工具(~500MB)

Downloads

更新:如果安装时遇到循环问题
xcodebuild -runFirstLaunch

3
我在过去的两年中已经重装了很多次Xcode,就像是“老头子,我要教你多少次才能记住这个教训?” - Cameron Hudson

53
  • 如果有多个版本,请在以下位置选择其中一个: xcode -> 首选项 -> 位置,然后选择如下图所示的版本

输入图像描述


这修复了一些问题,但不是全部。 - Murwa
我曾经安装了Xcode 10.3、11.1和11.2,但是Xcode无法确定要使用哪个版本的命令行工具,并将下拉菜单留空。一旦选择了11.1版本,git命令就开始正常工作了。 - Chandana Kithalagama
好的提示,谢谢。无论如何,重要的是解决问题。 - taha
这对我有用。非常感谢。我在不同的位置拥有旧版本和新版本的Xcode。 - iGW
被踩了:你必须明白安装Xcode是最糟糕的选择。为什么我们要被迫安装600MB的Xcode才能启用已经安装的Git的路径? - Lazarus Thurston
显示剩余2条评论

52

我之前在较早版本中使用过接受答案中给出的xcode-select --install命令。

我刚刚升级到了OS X 10.15 Catalina,并在操作系统升级后再次通过“偏好设置”中的“软件更新”工具运行。Xcode 工具更新可用,这也解决了使用 Git 时遇到的问题, 它只是输出了:xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools)


如果您已经安装了Xcode,则不需要单独安装命令行工具。只需确保运行xcode-select --switch /Applications/Xcode.app/Contents/Developerxcode-select --reset,这样终端将使用Xcode内部的命令行工具而不是由“命令行工具”独立安装程序安装的工具。从那时起,应用商店将自动更新Xcode,您的工具也将保持最新状态。 - uliwitness

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接