【问题标题】:How to update Xcode Command Line Tools?如何更新 Xcode 命令行工具?
【发布时间】:2017-07-21 03:51:20
【问题描述】:

我正在尝试更新我的 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]

但是当我运行更新命令时,我得到了这个错误:

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

这也不起作用:

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.

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

【问题讨论】:

    标签: xcode macos xcode-command-line-tools


    【解决方案1】:

    对于未来的旅行者,这是一种与版本无关的方法。首先,运行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]
    

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

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

    softwareupdate -i "Command Line Tools (macOS High Sierra version 10.13) for Xcode-10.1"
    

    【讨论】:

    • 这是正确的建议,因为它允许您在以后的版本中执行此操作。
    【解决方案2】:

    我将在这里回答一个稍微不同的问题,因为这个问题是在我寻找解决问题的方法时出现的。希望它能对某人有所帮助(下次遇到同样的问题时它肯定会对我有所帮助)。

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

    xcode-select --install
    

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

    xcode-select -p返回/Applications/Xcode.app/Contents/Developerclang --version报告了下面的安装目录。我以为我会重新开始。

    sudo rm -rf /Applications/Xcode.app
    

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

    sudo xcode-select -r
    

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

    看来问题是新版本的工具安装到了不同的目录,xcode-select -r不够聪明,找不到最新版本。

    【讨论】:

    • 我不知道我是怎么遇到这种情况的,但我遇到了同样的问题,这解决了!
    【解决方案3】:

    运行softwareupdate -i "Command Line Tools (macOS El Capitan version 10.11) for Xcode-8.2"。引号很重要。

    【讨论】:

    • 谢谢,使用sudo 关键字运行上述命令对我有用。
    【解决方案4】:

    我在安装 Xcode 10.3MacOS 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"
    

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

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

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

    clang --version
    

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

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

    因此,我将活动开发者路径切换到使用以下方式安装的最新 Xcode 应用程序:

    sudo xcode-select --switch /Applications/Xcode.app
    

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

    【讨论】:

    • 当我发现我运行的是旧版本的 Swift 但我拥有最新的 XCode 时,这让我摆脱了麻烦。
    【解决方案5】:

    升级到 MacOS Catalina 版本 10.15.* 时,您可以像这样安装 xcode 11.3 的命令行工具:

    $ softwareupdate --list
    Software Update Tool
    
    Finding available software
    Software Update found the following new or updated software:
    * Label: Command Line Tools for Xcode-11.3
        Title: Command Line Tools for Xcode, Version: 11.3, Size: 224878K, Recommended: YES,
    $ sudo softwareupdate -i "Command Line Tools for Xcode-11.3"
    

    【讨论】:

      【解决方案6】:

      我用sudo 运行了相同的命令,结果成功了。

      sudo softwareupdate -i "Command Line Tools (macOS El Capitan version 10.11) for Xcode-8.2"

      【讨论】:

        猜你喜欢
        • 2012-03-08
        • 2012-03-08
        • 2016-04-09
        • 2013-11-07
        • 1970-01-01
        • 2019-03-02
        • 2013-09-27
        • 1970-01-01
        相关资源
        最近更新 更多