我如何查找是否已安装Xcode命令行工具?

207

我需要使用gdb。

ps-MacBook-Air:AcoustoExport pi$ gdb
-bash: gdb: command not found

ps-MacBook-Air:AcoustoExport pi$ sudo find / -iname "*gdb*"
Password:
/usr/local/share/gdb
/usr/local/Cellar/isl/0.12.1/share/gdb
:

和:

ps-MacBook-Air:AcoustoExport pi$ ls -la /usr/local/share/gdb
lrwxr-xr-x   1 pi    admin   30 14 Jan 22:01 gdb -> ../Cellar/isl/0.12.1/share/gdb

我不太确定如何处理这个问题,显然这是由Homebrew安装的某些东西。我不知道它为什么在那里,也不知道是否可以使用它来代替其他工具。它没有在搜索路径中。

所以我想我需要Xcode命令行工具。

Xcode当前无法从软件更新服务器获取

^ 这正是我的问题所在。评论中说“如果您已经拥有它们,则可能会出现此错误”

但是我该如何检查我是否已经拥有它们呢?

12个回答

319
/usr/bin/xcodebuild -version

将会给你显示Xcode的版本,通过终端命令运行它。


6
要仅获取版本号,请使用以下命令:/usr/bin/xcodebuild -version | sed -En 's/Xcode[[:space:]]+([0-9.]*)/\1/p' - Werner Altewischer
2
我在使用指定命令时出现了错误:"-bash: /usr/build/xcodebuild: No such file or directory." 我已经确认通过运行命令“gcc --version”来检查我是否具有xcode,该命令会显示gcc的详细信息。我使用的是Mac OS X 10.13.6操作系统。 - Gaurav Srivastava
@GAURAV SRIVASTAVA:应该是/usr/bin,而不是/usr/build。实际上,由于/usr/bin通常在您的PATH中,因此xcodebuild就足够了。 - Samuel Lelièvre
59
我收到了这个错误信息:xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance。我认为…… - Gulam Hussain
6
@GulamHussain,请查看 @Alex 给出的答案:https://dev59.com/fWEi5IYBdhLWcg3wb7-O#42144725,了解在未安装 Xcode 且只有 CommandLineTools 可用的情况下的相关情况。 - Thomas B in BDX
在 Monterey zsh 上,这将输出:MacBook-Pro ~%/usr/bin/xcodebuild -version xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance 然而,我相当确定我已经安装了用于 git 的 XCode... 我现在记不清了。我只是试图通过 Symfony CLI 的警告。 - SteveExdia

91
这个命令可以让你在只安装了CommandLineTools版本时获取Xcode的版本:
pkgutil --pkg-info=com.apple.pkg.CLTools_Executables | grep version

根据 Ask Different 上关于“确定 xcode 命令行工具版本”的this answer,本文介绍如下:
注:
  • 已确认在 macOS Sierra 和 Big Sur 上可以使用。
  • 当只安装 CommandLineTools 而未安装 Xcode 时,使用 xcodebuild 将返回以下错误信息:
# /usr/bin/xcodebuild -version
xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance

1
谢谢!只安装CommandLineTools而不是实际的Xcode,并解决了运行/usr/bin/xcodebuild -version时出现的错误:xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance - Thomas B in BDX
4
在 Monterey (12.5) 上,我得到了以下信息:在'/'上找不到'com.apple.pkg.CLTools_Executables'的收据。 有什么想法吗?(我只安装了命令行工具,没有安装 Xcode。) - wescpy
谢谢。在 Monterey (12.6.1) 上运行良好。 - PravyNandas
我在使用 Monterey 12.6.2 时遇到了与 @wescpy 相同的问题。 - hartshoj

56

首先,确保您是否已经下载了gcc。打开终端应用程序,如果您尚未安装它,请输入$ gcc,您将收到一个警报。您可以通过以下方式验证是否已安装:

$ xcode-select -p
/Library/Developer/CommandLineTools

确认后输入$ gcc --version

您可以在此处阅读更多有关该过程的信息:Mavericks的Xcode命令行工具


1
@Pi 当您输入 $gcc --version 时,会得到什么结果? 您是否会得到类似以下的内容: --prefix=/Library/Developer/CommandLineTools/usr --with-gxx-include-dir=/usr/include/c++/4.2.1 Apple LLVM version 5.0 (clang-500.2.79) (based on LLVM 3.3svn) - Siavash Alp
不,我得到的是--prefix=/Applications/Xcode.app/Contents/Developer/usr。其余部分与您的输出相同。 - P i

48

如果您想知道Xcode的安装版本以及Swift语言当前版本:

请在终端中使用以下简单命令:

1. 获取已安装Xcode版本

 xcodebuild -version

2. 获取安装 Swift 语言版本

swift --version

16

感谢 Freenode 上的 #macdev 社区提供的信息:

在 Xcode 还未上架 App Store 的古老时代,它包含命令行工具。

现在你可以从 App Store 下载,由于这个新机制不能在 Xcode.app 之外安装其他内容,你需要手动操作来完成,步骤如下:

xcode-select --install

在 Xcode 4.x 中,您可以从 Xcode UI 中检查它们是否已安装:

enter image description here

在 Xcode 5.x 中,它现在在这里:

enter image description here

我的问题是找不到gcc / gdb,因为它们已被clang / lldb取代:OS X v10.9(Mavericks)中缺少GDB

还请注意,Xcode 包含编译器和调试器,因此安装命令行工具之一的事情是将其符号链接或修改 $PATH。它还会下载某些东西,例如git。


2
对于Xcode 15来说,回答仍然有用且相关。 - AMAN77

5
如果由于某些原因,Xcode未安装在/usr/bin/xcodebuild下,请执行以下命令which xcodebuild查找其位置。如果已安装,则会提示其位置。请注意保留HTML标记。

5

简介

Xcode可以安装多个版本,命令行工具也可以。这里是系统认为你的命令行工具所在的位置。

xcode-select --print-path

在Xcode > 首选项 > 位置中可以选择命令行工具,包括每个工具的路径。我发现brew抱怨Xcode或命令行工具,下面详细介绍如何安装特定版本的Xcode或命令行工具。

在升级MacOS后出现的brew doctor问题

我一直使用应用商店在我的(2014年)Macbook Pro上安装和更新Xcode,但今天在所有更新之后,brew doctor仍然抱怨Xcode。

警告: 您的Xcode(12.4)已过期。
请更新到Xcode 13.2.1(或将其删除)。

并且抱怨命令行工具

警告: 可用较新的Command Line Tools版本。

获取特定版本的Xcode

  • Developer.apple.com下载特定版本的Xcode作为xip文件(我下载了Xcode_13.2.1.xip)

  • 将Xcode_13.2.1.xip移动到/Applications

    cd Applications
    xip --expand /Applications/Xcode_13.2.1.xip

下载需要一段时间,然后需要更长的时间来验证应用程序。
打开/Applications/Xcode.app

检查XCode中的CLT

Xcode> Preferences> Locations显示可用的CLT和每个工具的位置(路径)。
选择适当的命令行工具
复制路径。
进入终端并在xcode-select中使用该路径
sudo xcode-select -s /Users/<username>/Applications/Xcode.app
关闭终端并重新打开。
以下内容不够具体:
pkgutil --pkg-info=com.apple.pkg.CLTools_Executables | grep version
但是可以用来确定版本。

$ /usr/bin/xcodebuild -version  

如果仍然显示旧版本的CLT
请尝试以下方法:

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

接下来尝试:

更新到特定版本的CLT

首先,使用以下命令删除现有的CLT:

sudo rm -rf /Library/Developer/CommandLineTools  

检查可用的CLT更新

softwareupdate --list  

软件更新工具 查找可用软件 软件更新发现了以下新的或更新的软件: - 标签:Xcode-12.4 命令行工具 标题:Xcode 命令行工具,版本:12.4,大小:440392K,> 推荐:是, - 标签:Xcode-13.2 命令行工具 标题:Xcode 命令行工具,版本:13.2,大小:577329K,> 推荐:是, - 标签:Xcode-12.5 命令行工具 标题:Xcode 命令行工具,版本:12.5,大小:470966K,> 推荐:是, - 标签:Xcode-12.5 命令行工具 标题:Xcode 命令行工具,版本:12.5,大小:470820K,> 推荐:是,
softwareupdate --install "Command Line Tools for Xcode-13.2"

关闭终端并重新打开。
/usr/bin/xcodebuild -version     

Xcode 13.2.1
构建版本号为13C100
来自以下输出:
$ xcode-select -p  

/Users/<username>/Applications/Xcode.app/Contents/Developer

brew doctor显示

您的系统已准备好进行酿造。


4

我肯定已经安装了XCode命令行工具,但没有安装XCode本身。

所有能够获取版本的可用答案都无法正常工作。使用pkgutil也找不到XCode命令行工具的软件包,即使是所提供的软件包名称也不行。

由于没有安装XCode(也没有必要),我也不能查看其设置对话框。

xcode-select --version 仅显示了 xcode-select 自身的版本信息,并未提供有关命令行工具版本的线索。

softwareupdate --list 告诉我一切都是最新的。

然而,由于Homebrew软件包安装程序告诉我我的命令行工具版本过时,我知道我的版本必须过时了!

最终我是通过偶然发现的以下命令找到了安装的XCode命令行工具版本:

softwareupdate --history

在其更新的版本列表中,将12.3列为最新版本...

Display Name                                       Version    Date                  
------------                                       -------    ----                  
Safari                                             14.0       04/11/2020, 12:26:12  
Command Line Tools for Xcode                       12.1       04/11/2020, 22:38:33  
Safari                                             14.0.2     15/12/2020, 16:38:27  
Safari                                             14.0.1     15/12/2020, 16:38:27  
Command Line Tools for Xcode                       12.3       15/12/2020, 16:38:27  
macOS Big Sur                                      11.2.1     14/02/2021, 20:57:56  
macOS Big Sur 11.2.2                               11.2.2     08/03/2021, 09:02:20  

如果你确定已经安装了命令行工具(例如,xcode-select --install 告诉你已经安装了),但其他方法都不能正常工作时,请检查 softwareupdate --history


4
回归翻译文本:

建议使用 xcodebuild -version 的答案是正确的,但遗憾的是输出格式如下:

Xcode 14.3
Build version 14E222b

如果您需要没有“Xcode”前缀的Xcode版本,可以运行以下命令:
xcodebuild -version | awk '/Xcode/ {print $2}' | tr -d '\n'

2
您可以打开 Xcode 应用并进入偏好设置,最后一行会显示您是否已安装工具、哪些工具以及允许您从下拉菜单中更改它们。

enter image description here


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