93

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

$ 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
4

9 回答 9

65

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

sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer
于 2014-09-01T14:50:23.080 回答
23

It appears that OSX has changed xcodebuild to require XCode to be installed, where before it functioned properly with only the OSX Command Line Tools installed.

Old semi-related answer

Many people ran into this with Node. Node's build tool, gyp, uses xcodebuild to prepare for compiling node packages. Mavericks has changed the behavior of xcodebuild so that it no longer works properly with gyp. This is being fixed at the moment. See the node-gyp issue

Once the changes have been deployed to NPM, you will be able to install the new node-gyp package and compile properly. You will also need to update your NPM version once the changes are incorporated into NPM.

于 2013-12-19T00:54:15.963 回答
16

请先进入 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 的用户有所帮助

谢谢

于 2015-05-22T17:31:23.463 回答
9

此问题是由于 xcode-select开发人员目录指向/Library/Developer,其中仅包含文件夹CommandLineTools. 为此,错误消息抱怨不是目录与 Xcode 不同。

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

  1. (重新)安装 Xcode。

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

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

参考:

如何修复“xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory * BROKEN LINK *

xcode-选择活动开发者目录错误

于 2014-11-12T13:02:13.497 回答
2

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

于 2014-07-04T09:59:24.220 回答
1

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

Xcode > 首选项 > 位置

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

命令行工具选择下拉菜单

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

于 2019-08-28T23:10:38.207 回答
0

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

于 2017-04-24T14:14:49.437 回答
0

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

注意“\”转义空格。

于 2016-01-27T23:32:22.740 回答
-3

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

于 2013-11-22T17:03:26.390 回答