Mac OS
如何修复错误
xcrun: error

xcrun: error: invalid active developer path: how to fix

xcrun错误示例

有时你在Mac OS中输入命令行命令时,会遇到类似上述的错误。 解决方法很简单。 你需要知道的是错误发生的原因,如果你是研究开发的,我建议在继续前行之前阅读原因部分。

1. 解决方法

让我们从解决方法开始。

在你的终端中输入以下内容并按回车键。

xcode-select --install

在打开的窗口中,点击安装按钮。

开发工具安装弹出

最后,点击许可窗口中的OK按钮,安装将继续进行。 安装完成后,键入同样的命令,它将无错误地运行。

运行python3

2. 原因

现在我们已经解决了这个错误,让我们来看看它为什么会发生。从错误本身开始,下面是它的样子。

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

我输入了python3命令,但错误信息说没有xcrunxcrun是从哪里来的?

2.1. xcrun

manpagez是这样解释的: (opens in a new tab) 为了给你一个概念,xcrun做的是运行Xcode使用的Python版本,从我的机器上安装的许多Python中选取,或者用Xcode的 CommandLineTools来运行安装在我机器上的Python版本。 xcrun运行的版本是Mac OS认为目前最适合我们操作系统的版本。

当然,你的想法胜过系统的想法。 所以xcrun在探索了所有的 PATH后运行。 对于那些不知道的人,值得解释一下CLI命令和PATH之间的关系。

2.2. CLI和PATH

从CLI中运行的程序,如Python解释器,可以存在于你计算机的任何地方。 它可能在/opt/homebrew/bin/python3,也可能在/usr/bin/python3。 要运行这个程序,我们需要进入以/开头的顶级目录。

! /usr/bin/python cli

PATH是允许你省略这些前缀的目录地址。 如果你在PATH中指定了所需的目录,计算机将自动找到并运行该文件夹中的python3可执行程序。

python3 cli

我的计算机的PATH可以通过以下命令找到。

echo $PATH

你应该看到多个路径的输出,如下图所示。

echo $PATH

它将转到它打印的多个PATH的开头,如果python3可执行文件存在,它将运行它,如果它在最后不存在,它将打印一条消息说没有找到。

为了验证这个消息,让我们运行python4,它在机器上不存在。

运行python4时的屏幕

xcrun所做的是找到上述所有的PATH,然后执行它们,找到并运行为操作系统和Xcode安装的python3可执行文件。

2.3. Mac OS的更新

CommandLineTools和Mac OS的更新是密切相关的,因为CommandLineTools本身,xcrun是其中的一部分,是一套为Mac OS优化的应用程序。 有时Mac OS的更新包括CommandLineTools的更新。 这就产生了一个错误,导致Mac OS的更新混淆甚至重置xcrun的目录设置。

上面的解决方法可以扭转被破坏的路径,或者修复那些在CommandLineTools的清洁安装下被初始化的程序。 这个解决方法很简单,但查找xcrun和了解更多关于Mac OS的工作方式是很有趣的。

copyright for Mac xcrun error

© 2023 All rights reserved.