如何检查是否安装了命令行工具


103

我有一个OS X 10.8.2的Macbook Pro。XCode已安装。我知道这出现在“应用程序”目录中。我需要知道是否已安装命令行工具,/ usr / bin中也有xcodebuild和xcode-select文件。有命令吗?我该怎么办才能查看是否已安装XCode CLT,如果可以,则可以找到已安装的版本?


XCode的版本是4.6
Vivek Nandavanam 2013年

Answers:


104

10.14莫哈韦沙漠更新:

请参阅优胜美地更新。

10.13高山脉更新:

请参阅优胜美地更新。

10.12 Sierra更新:

请参阅优胜美地更新。

10.11 El Capitan更新:

请参阅优胜美地更新。

10.10优胜美地更新:

只需在命令行中输入gcc或输入make!OSX将知道您没有命令行工具,并提示您安装它们!

要检查它们是否存在,xcode-select -p将打印目录。或者,2如果它们不存在,则返回值将是0。只打印返回值(感谢@Andy):

xcode-select -p 1>/dev/null;echo $?

10.9小牛更新:

pkgutil --pkg-info=com.apple.pkg.CLTools_Executables

10.8更新:

选项1: Rob Napier建议使用pkgutil --pkg-info=com.apple.pkg.DeveloperToolsCLI,它可能更干净。

选项2:检查内部/var/db/receipts/com.apple.pkg.DeveloperToolsCLI.plist是否有引用com.apple.pkg.DeveloperToolsCLI,它将列出版本4.5.0

[Mar 12 17:04] [jnovack@yourmom ~]$ defaults read /var/db/receipts/com.apple.pkg.DeveloperToolsCLI.plist
{
    InstallDate = "2012-12-26 22:45:54 +0000";
    InstallPrefixPath = "/";
    InstallProcessName = Xcode;
    PackageFileName = "DeveloperToolsCLI.pkg";
    PackageGroups =     (
        "com.apple.FindSystemFiles.pkg-group",
        "com.apple.DevToolsBoth.pkg-group",
        "com.apple.DevToolsNonRelocatableShared.pkg-group"
    );
    PackageIdentifier = "com.apple.pkg.DeveloperToolsCLI";
    PackageVersion = "4.5.0.0.1.1249367152";
    PathACLs =     {
        Library = "!#acl 1\\ngroup:ABCDEFAB-CDEF-ABCD-EFAB-CDEF0000000C:everyone:12:deny:delete\\n";
        System = "!#acl 1\\ngroup:ABCDEFAB-CDEF-ABCD-EFAB-CDEF0000000C:everyone:12:deny:delete\\n";
    };
}

1
我发现打开xcode> Preferences> Downloads> Components时有一个命令行工具条目处于更新状态,当我对其进行更新时,它显示已安装状态
Vivek Nandavanam 2013年

7
/var/db/receipts您可以使用API​​来访问目录,而无需进入目录:pkgutil --pkg-info=com.apple.pkg.DeveloperToolsCLI
Rob Napier 2013年

8
我可能会记错了,但是收据名称现在CLTools_Executables至少是我在OS Mavericks下找到的所有内容。该命令将是:pkgutil --pkg-info=com.apple.pkg.CLTools_Executables
Chris

1
注意到与乔丹相同的事情。xcode-select不返回整数,仅返回路径
Damon 2015年

1
我输入xcode-select-p只是得到/Applications/Xcode.app/Contents/Developer。这是什么意思?
研究

77

优胜美地

以下是一些人可能需要的新Mac上的一些额外步骤。这为@jnovack的出色答案增加了一点。

更新:进行此设置时的其他一些注意事项:

确保您的管理员用户具有密码。尝试启用root用户时,空白密码将不起作用。

System Preferences > Users and Groups > (select user) > Change password

然后启用root,dsenableroot在终端中运行:

$ dsenableroot
username = mac_admin_user
user password:
root password:
verify root password:

dsenableroot:: ***Successfully enabled root user.

输入admin用户的密码,然后输入两次启用的新root密码。

下一个类型:

sudo gcc

要么

sudo make

它将响应如下内容:

WARNING: Improper use of the sudo command could lead to data loss
or the deletion of important system files. Please double-check your
typing when using sudo. Type "man sudo" for more information.

To proceed, enter your password, or type Ctrl-C to abort.

Password:


You have not agreed to the Xcode license agreements. You must agree to 
both license agreements below in order to use Xcode.

提示您显示许可协议时,请按Enter。

Hit the Enter key to view the license agreements at 
'/Applications/Xcode.app/Contents/Resources/English.lproj/License.rtf'

IMPORTANT: BY USING THIS SOFTWARE, YOU ARE AGREEING TO BE BOUND BY THE 
FOLLOWING APPLE TERMS:

//...

q退出许可协议视图。

By typing 'agree' you are agreeing to the terms of the software license 
agreements. Type 'print' to print them or anything else to cancel, 
[agree, print, cancel]

输入agree。然后以:

clang: error: no input files 

这基本上意味着你没有给makegcc任何输入文件。

这是支票的样子:

$ xcode-select -p
/Applications/Xcode.app/Contents/Developer

小牛队

对于小牛来说,现在有点不同了。

当找不到工具时,这是命令pkgutil命令返回的内容:

$ pkgutil --pkg-info=com.apple.pkg.CLTools_Executables
No receipt for 'com.apple.pkg.CLTools_Executables' found at '/'.

要安装命令行工具,它可以在终端上很好地工作,并带有良好的gui和所有内容。

$ xcode-select --install

http://macops.ca/installing-command-line-tools-automatically-on-mavericks/

找到它们后,pkgutil命令将返回以下内容:

$ pkgutil --pkg-info=com.apple.pkg.CLTools_Executables
package-id: com.apple.pkg.CLTools_Executables
version: 5.0.1.0.1.1382131676
volume: /
location: /
install-time: 1384149984
groups: com.apple.FindSystemFiles.pkg-group com.apple.DevToolsBoth.pkg-group com.apple.DevToolsNonRelocatableShared.pkg-group 

此命令在安装前后返回相同的结果。

$ pkgutil --pkg-info=com.apple.pkg.DeveloperToolsCLI
No receipt for 'com.apple.pkg.DeveloperToolsCLI' found at '/'.

另外我之前在xcode的downloads部分中选择并安装了CLT的组件,但似乎并没有将它安装到终端...

希望能有所帮助。


您可以针对最新的操作系统更新此答案吗?谢谢。
Sparky

我调用sudo rm -rf / Library / Developer / CommandLineTools,然后使用xcode-select --install。
Oleksii Kyslytsyn

31

要检查是否安装了命令行工具,请运行:

xcode-select --version

// if installed you will see the below with the version found in your system
// xcode-select version 1234.

如果未安装命令行工具,请运行:

xcode-select --install

1
简单有效。可能是最好的答案。
Bryan P

12

在macOS Sierra(10.12)上:

  1. 运行以下命令以查看是否安装了CLT:

    xcode-select -p

    如果已经安装了CLT,它将返回工具的路径。像这样-

    /Applications/Xcode.app/Contents/Developer
  2. 运行以下命令以查看CLT的版本:

    pkgutil --pkg-info=com.apple.pkg.CLTools_Executables

    这将返回版本信息,输出将是这样的-

    package-id: com.apple.pkg.CLTools_Executables
    version: 8.2.0.0.1.1480973914
    volume: /
    location: /
    install-time: 1486372375

8

在macOS Catalina以及可能的某些早期版本中,您可以使用以下命令找到命令行工具的安装位置:

xcode-select -p 又名 xcode-select --print-path

如果已安装,它将以以下方式响应:

/Library/Developer/CommandLineTools

要了解您在那里安装了哪个版本,可以使用:

xcode-select -v 又名 xcode-select --version

这将返回类似:

xcode-select version 2370.

但是,如果您尝试将其升级到最新版本(假设已安装),请使用以下方法:

xcode-select --install

您将收到以下回复:

xcode-select: error: command line tools are already installed, use "Software Update" to install updates

相当错误地给您留下了使用Spotlight所需的印象,找到了一个称为“软件更新”的东西。实际上,您需要在终端中继续并使用以下命令:

softwareupdate -i -a 又名 softwareupdate --install --all

它将尝试更新所有可能且可能会做出响应的一切:

Software Update Tool

Finding available software
No new software available.

要了解您的计算机上安装了哪些不同版本的Apple SDK,请使用以下命令:

xcodebuild -showsdks


3

我认为无论是否安装macOS版本,是否已安装最适合我查找命令行工具的最简单方法及其版本

$brew config

macOS:10.14.2-x86_64
CLT:10.1.0.0.1.1539992718
Xcode:10.1

当您正确安装了命令行工具并正确设置了路径时,会出现这种情况。

早些时候我的输出如下
macOS:10.14.2-x86_64
CLT:N / A
Xcode:10.1

尽管具有gcc并能正常工作且输出低于输出,但CLT被显示为N / A

$xcode-select -p              
/Applications/Xcode.app/Contents/Developer
$pkgutil --pkg-info=com.apple.pkg.CLTools_Executables
No receipt for 'com.apple.pkg.CLTools_Executables' found at '/'.
$brew doctor
Your system is ready to brew.

最终执行xcode-select --install解决了我的brew无法找到CLT来安装软件包的问题,​​如下所示。

Installing sphinx-doc dependency: python
Warning: Building python from source:
  The bottle needs the Apple Command Line Tools to be installed.
  You can install them, if desired, with:
    xcode-select --install

1

转到应用程序> Xcode>首选项>下载

您应该在那里看到命令行工具供您安装。




0

因为Xcode如果先安装就包含CLI工具,所以我使用以下混合版本,该混合版本已在10.12和10.14上进行了验证。我希望它可以在许多其他版本上使用:

installed=$(pkgutil --pkg-info=com.apple.pkg.CLTools_Executables 2>/dev/null || pkgutil --pkg-info=com.apple.pkg.Xcode)

加盐awk即可品尝到分支逻辑。

当然xcode-select -p,可以使用非常短的命令处理这些变化,但是无法提供详细的软件包,版本和安装日期元数据。


0

打开终端,并检查是否已经安装了Xcode:

xcode-select -p

作为回报,如果您得到以下信息:

/Library/Developer/CommandLineTools

这意味着您已经安装了Xcode。

您可以通过另一种方式检查是否已安装“ HomeBrew”,可以使用以下命令查看您是否具有Xcode及其版本:

brew config

最后,如果您没有Xcode,请点击此链接从Appstore下载Xcode。来自App Store的Xcode

祝好运。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.