Xcode命令行工具:如何更新?

Aks*_*hot 16 macos xcode xcode-command-line-tools

我想在我的mac osx上更新命令行工具.

~  softwareupdate --list
Software Update Tool
Copyright 2002-2015 Apple Inc.

Finding available software
Software Update found the following new or updated software:

   * Command Line Tools (macOS El Capitan version 10.11) for Xcode-8.2
    Command Line Tools (macOS El Capitan version 10.11) for Xcode (8.2), 150374K [recommended]
   * iTunesX-12.5.5
    iTunes (12.5.5), 263476K [recommended]
Run Code Online (Sandbox Code Playgroud)

但是当我运行update命令时,我收到此错误:

softwareupdate -i Command Line Tools (macOS El Capitan version 10.11) for Xcode-8.2
zsh: number expected
Run Code Online (Sandbox Code Playgroud)

这也不起作用:

softwareupdate -i Command Line Tools
Software Update Tool
Copyright 2002-2015 Apple Inc.

Command: No such update
Line: No such update
Tools: No such update
No updates are available.
Run Code Online (Sandbox Code Playgroud)

我应该指定的确切字符串是什么 sofwareupdate -i?

更新

我也尝试添加引号.

~  softwareupdate --list
Software Update Tool
Copyright 2002-2015 Apple Inc.

Finding available software
Software Update found the following new or updated software:

   * Command Line Tools (macOS El Capitan version 10.11) for Xcode-8.2
    Command Line Tools (macOS El Capitan version 10.11) for Xcode (8.2), 150374K [recommended]
   * iTunesX-12.5.5
    iTunes (12.5.5), 263476K [recommended]
Run Code Online (Sandbox Code Playgroud)

M F*_*nga 21

对于将来的旅行者,这是与版本无关的方法。首先,运行softwareupdate --list。这可能需要几分钟。完成后,您将看到如下所示的项目符号(带有星号)输出:

$ softwareupdate --list
Software Update Tool

Finding available software
Software Update found the following new or updated software:
   * Command Line Tools (macOS High Sierra version 10.13) for Xcode-10.1
        Command Line Tools (macOS High Sierra version 10.13) for Xcode (10.1), 190584K [recommended]
Run Code Online (Sandbox Code Playgroud)

查找引用Xcode命令行工具的项目符号。复制整个行(星号除外)。在上述情况下,您将复制:Command Line Tools (macOS High Sierra version 10.13) for Xcode-10.1

然后,使用在引号内复制的内容运行install命令(如Brendan Shanks所示):

softwareupdate -i "Command Line Tools (macOS High Sierra version 10.13) for Xcode-10.1"
Run Code Online (Sandbox Code Playgroud)

  • 这是正确的建议,因为它允许您在将来的版本中执行此操作。 (3认同)

Cri*_*ngo 12

我将在这里回答一个稍微不同的问题,因为当我搜索问题的解决方案时出现了这个问题.希望它能帮助某人(下次遇到同样的问题时,它肯定会帮助我).

我想将命令行工具从版本8升级到9.App Store没有建议进行此升级,也没有建议softwareupdate --list.

xcode-select --install
Run Code Online (Sandbox Code Playgroud)

安装了新版本的工具.但clang --version仍然给出8.0.0作为版本号.xcode-select -r并重新启动并没有解决这个问题.

xcode-select -p返回/Applications/Xcode.app/Contents/Developer,并clang --version在那里报告了一个安装目录.我以为我会重新开始.

sudo rm -rf /Applications/Xcode.app
Run Code Online (Sandbox Code Playgroud)

删除了第8版工具.但是xcode-select --install说已经安装了命令行工具.

sudo xcode-select -r
Run Code Online (Sandbox Code Playgroud)

现在,sudo xcode-select -p回归/Library/Developer/CommandLineTools/.

似乎问题是新版本的工具安装在不同的目录中,并且xcode-select -r不够聪明,无法找到最新版本.


Ant*_*nin 9

给出的答案brew(当使用旧版本的命令行工具时):

从系统偏好设置中的软件更新更新它们或运行:
softwareupdate --all --install --force

如果没有显示任何更新,请运行:

sudo rm -rf /Library/Developer/CommandLineTools

sudo xcode-select --install

它对我有用,但softwareupdate --list没有显示任何内容并softwareupdate --all --install --force回答了No updates are available.


Bre*_*nks 7

softwareupdate -i "Command Line Tools (macOS El Capitan version 10.11) for Xcode-8.2".报价很重要.


Han*_*nny 6

我在安装了Xcode 10.3 的MacOS Mojave 版本 10.14.3上遇到了类似的问题。真正的问题是,当我安装Xcode 10.3 时,我先删除了“ Xcode-beta.app ”,然后安装了新版本。因此,当我尝试为 C++ 开发安装 CLion 并对其进行配置时,CMake给了我错误并且更新命令行工具对我不起作用:

softwareupdate -i "Command Line Tools (macOS Mojave version 10.14.3) for Xcode-10.3"
Run Code Online (Sandbox Code Playgroud)

并在终端中向我展示了这个响应

Software Update Tool
Command Line Tools (macOS Mojave version 10.14.3) for Xcode-10.3: No such update
No updates are available.
Run Code Online (Sandbox Code Playgroud)

然后我尝试使用以下方法检查 Clang 的版本:

clang --version
Run Code Online (Sandbox Code Playgroud)

响应将我引向了真正的问题,即 Active Developer 路径仍然指向我已经删除的旧版本 Xcode。

xcrun: error: active developer path ("/Applications/Xcode-beta.app/Contents/Developer") does not exist
Run Code Online (Sandbox Code Playgroud)

因此,我将活动开发人员路径切换到使用以下方法安装的最新 Xcode App:

sudo xcode-select --switch /Applications/Xcode.app
Run Code Online (Sandbox Code Playgroud)

一切都像魅力一样自动运行。