使用下载的 pkg 文件时,xcode 命令行工具安装在哪里?
Posted
技术标签:
【中文标题】使用下载的 pkg 文件时,xcode 命令行工具安装在哪里?【英文标题】:Where is xcode command line tools installed to when using the downloaded pkg file? 【发布时间】:2020-09-24 08:33:46 【问题描述】:我的电脑上安装了 Xcode。最初我在打开 Xcode 时通过提示安装了 xcode 命令行工具。在我的 Xcode 首选项中,在位置部分中,命令行工具读取 Xcode 12.0 (12A7209)
并在其下方读取路径 /Applications/Xcode.app
。但是,正如在堆栈溢出中记录的 NUMEROUS 次一样,Homebrew 无法识别我的 xcode 命令行工具(CLT:N/A)。因此,我从 Apple Developer 下载了 pkg 文件,并使用该 pkg 文件重新安装了命令行工具,因为命令行安装 xcode-select --install
不起作用。 gui 安装程序完成,没有错误。现在,Homebrew 可以识别我的 CLT。
问题:如果 Xcode 已经安装了命令行工具,那么从 Apple 开发者那里下载的 pkg 文件也安装了命令行工具的位置是什么?这是否给我的系统留下了 2 个版本的 xcode 命令行工具?
运行xcode-select -p
会输出以下内容,正如许多人已经注意到的那样:
/Applications/Xcode.app/Contents/Developer
另外which -a xcode-select
也只返回/usr/bin/xcode-select
。
额外的 pkg 安装在我的计算机上做了什么?
如果我们必须从 pkg 重新安装它们才能让命令行程序读取它,那么在打开时让 Xcode 安装 xcode 命令行工具有什么用?
【问题讨论】:
【参考方案1】:如果 Xcode 已经安装了命令行工具,那么从 Apple 开发者那里下载的 pkg 文件也安装了命令行工具的位置是什么?
/Library/Developer/CommandLineTools
这是否让我在我的系统上留下了 2 个版本的 xcode 命令行工具?
不完全是“xcode”命令行工具,而是两个 CLT,是的。理想情况下,自制软件应该使用xcrun
来找到它们并使用任何可用的。
正如许多人已经注意到的那样,运行 xcode-select -p 会输出以下内容:/Applications/Xcode.app/Contents/Developer
这是正确的,也是意料之中的。如果您有 Xcode,则应使用 Xcode 的 CLT。如果你删除 Xcode,它应该输出:
/Library/Developer/
您可以手动更改此路径
xcode-select -s <path>
额外的 pkg 安装在我的计算机上做了什么?
它只是坐在那里供任何人使用。
如果我们必须从 pkg 重新安装它们才能让命令行程序读取它,那么在打开时让 Xcode 安装 xcode 命令行工具有什么用?
不使用现有的 Xcode CLT 是不好的。
【讨论】:
您知道让 Brew 识别和使用 Xcode CLT 的方法吗?此外,是否有单独的命令来利用 pkg 安装的 CLT?当我运行 xcrun --show-sdk-path 它仍然输出 Xcode CLT 的路径 /Applications/Xcode.app/Content/..... 您可以创建一个从 Xcode 的开发者文件夹到 /Library/Developer 文件夹的符号链接。您是否尝试使用-s
选项手动设置路径?
为什么我要将 XCLTS 符号链接到 pkg 安装的 CLT?或者你的意思是相反的?我会尝试,但是是否有特定的可执行文件来进行符号链接?另外,手动更改路径对当前使用 XCLT 的其他程序(如果有的话)有什么影响?以上是关于使用下载的 pkg 文件时,xcode 命令行工具安装在哪里?的主要内容,如果未能解决你的问题,请参考以下文章
用于开源编译/构建的 Apple 命令行工具和 XCode?