【问题标题】:Unable to use xcodebuild on Mavericks with Command Line Tools installed无法在安装了命令行工具的 Mavericks 上使用 xcodebuild
【发布时间】:2013-11-05 12:25:04
【问题描述】:

我已经安装了命令行工具:

$ xcode-select --print-path
/Library/Developer/CommandLineTools

但是,当任何尝试使用 xcodebuild 时,我会收到以下错误:

$ /usr/bin/xcodebuild
xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance

在 Mountain Lion 上,无需安装整个 Xcode 即可使用它,而无需安装命令行工具。在小牛队可以做到这一点吗?我怎样才能让它工作?

注意这是对 Mavericks 的全新安装

更新:只是为了说明,我确实安装了命令行工具:

$ gcc --version
Configured with: --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)
Target: x86_64-apple-darwin13.0.0
Thread model: posix

【问题讨论】:

  • 在这里尝试构建一些节点模块时遇到了同样的问题。希望有一个快速的解决方法。
  • 我在node-gyp 上创建了一个问题,因为这是我的问题的根源:github.com/TooTallNate/node-gyp/issues/341
  • 也许你必须安装 Xcode。这就是我的 gcc --version 的样子 配置: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/Applications/Xcode.app/Contents/Developer/Platforms /MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/c++/4.2.1 Apple LLVM 版本 5.0 (clang-500.2.79)(基于 LLVM 3.3svn)目标:x86_64-apple-darwin13。 0.0 线程模型:posix
  • 也许你是对的,奇怪的是安装了命令行工具的 Mountain Lion 上没有必要。
  • 我假设你做了xcode-select --install。安装 Xcode 后 xcode-select --print-path 打印 /Applications/Xcode.app/Contents/Developer

标签: xcode macos operating-system osx-mavericks


【解决方案1】:

AFAIK,Mavericks 中的命令行工具安装在 /Applications/Xcode.app/Contents/Developer 中,这往往意味着需要 Xcode。可能是未记录的功能。

【讨论】:

    【解决方案2】:

    似乎 OSX 已将 xcodebuild 更改为需要安装 XCode,而之前只安装了 OSX 命令行工具即可正常运行。

    旧的半相关答案

    很多人在使用 Node.js 时遇到了这个问题。 Node的构建工具gyp使用xcodebuild来准备编译node包。 Mavericks 已更改 xcodebuild 的行为,使其不再与 gyp 一起正常工作。目前正在修复此问题。 See the node-gyp issue

    将更改部署到 NPM 后,您将能够安装新的 node-gyp 包并正确编译。将更改合并到 NPM 后,您还需要更新 NPM 版本。

    【讨论】:

    • 不知道为什么这与节点链接,我正在尝试用 Xcode 构建其他东西
    • 没错,当你从命令行调用它时,xcodebuild 仍然会触发错误...我实际上从苹果开发者网站developer.apple.com/downloads/index.action#下载了最新的命令行工具
    【解决方案3】:

    我从 App Store 重新安装了 Xcode,解决了这个问题。我猜我之前的安装是不完整的安装

    【讨论】:

      【解决方案4】:

      我知道这是一个迟到的答案,但在我的情况下,这个命令解决了这个问题:

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

      【讨论】:

      • 请注意,问题是关于使用命令行工具安装进行构建。通过切换到 Xcode.app,您正在通过 Xcode 构建(问题试图避免安装)。
      【解决方案5】:

      这个问题是由于 xcode-select 开发者目录 指向 /Library/Developer,它只包含文件夹 CommandLineTools。为此,报错信息是抱怨不是目录与Xcode不一样。

      两个经过测试的解决方案:

      1. (重新)安装 Xcode。

      2. 使用以下命令将 xcode-select 指向 Xcode 开发者目录

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

      参考文献:

      How to fix error like “xcode-select: error: tool ‘xcodebuild’ requires Xcode, but active developer directory * 断开的链接 *

      xcode-select active developer directory error

      【讨论】:

      • 链接 1 已损坏
      【解决方案6】:

      请先进入finder,然后从左侧面板中选择Applications,然后查找Xcode,并检查其名称是Xcode还是Xcode-Beta

      如果名称是 Xcode-Beta,则在终端中输入以下命令:

      sudo xcode-select -switch /Applications/Xcode-Beta.app/Contents/Developer
      

      如果名称是 Xcode,则输入以下命令:

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

      希望这个答案可能对使用 Beta 版 Xcode 的用户有所帮助

      谢谢

      【讨论】:

        【解决方案7】:

        如果您使用 XCode2: sudo xcode-select --switch /Applications/Xcode\ 2.app/Contents/Developer

        注意用“\”转义空格。

        【讨论】:

          【解决方案8】:

          今天我遇到了这个问题,问题是我使用的是手动安装的 xcode,并且文件名为 Xcode8.3.2.app 而不是 Xcode.app。重命名应用程序修复了 xcode-select 抱怨的问题。这似乎表明常规 appname 在其搜索路径上,但变体不在。

          【讨论】:

            【解决方案9】:

            还有一个 GUI 可以在 Xcode > Preferences > Locations 中更改命令行工具路径:

            我在升级到 Xcode 10.3 后遇到了这个问题,同时在 Applications 的子文件夹中保留了 10.2.1 的旧副本。当我打开这个位置面板时,命令行工具的选择是空白的,但我可以在安装的两个版本之间进行选择:

            如果 GUI 选项可用,我倾向于使用它,而不是从 SO 中复制 sudo 命令。

            【讨论】:

              猜你喜欢
              • 2013-11-10
              • 2013-08-15
              • 2012-01-15
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2014-01-27
              • 2018-02-27
              • 1970-01-01
              相关资源
              最近更新 更多