无法使用安装了命令行工具的Mavericks上的xcodebuild

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

$ 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就可以使用,而不仅仅是命令行工具。 小牛队能做到这一点吗? 我怎样才能使它工作?

NB这是一个干净的小牛安装

更新:为了显示,我确实安装了命令行工具:

 $ 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 

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

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

看来,OSX已经改变了xcodebuild ,要求安装XCode ,在它之前,只有安装了OSX命令行工具才能正常工作。

老半相关的答案

很多人用Node来碰到这个问题。 Node的构build工具gyp使用xcodebuild来编译节点包。 小牛已经改变了xcodebuild的行为,使其不再适用于gyp 。 目前正在修复这个问题。 查看node-gyp问题

将更改部署到NPM之后,您将能够安装新的node-gyp软件包并正确编译。 一旦变更被纳入NPM,你也需要更新你的NPM版本。

请先find查找器,然后从左侧面板中select应用程序,然后查找Xcode,然后检查其名称是Xcode还是Xcode-Beta

如果它的Xcode然后在terminalinput这个命令:

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

否则这个:

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

希望这个答案可以帮助用户使用Beta版的Xcode

谢谢

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

两种testing解决scheme

  1. (重新)安装Xcode。

  2. 指向Xcode – 使用以下命令select到Xcode开发人员目录

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

参考文献:

如何修复错误,如“xcodeselect:错误:工具'xcodebuild'需要Xcode,但活动的开发人员目录

xcode-select活动的开发者目录错误

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

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

注意“\”以逃避空间。

今天我有这个问题,问题是我正在使用手动安装Xcode,并有文件名为Xcode8.3.2.app而不是Xcode.app。 重命名应用程序修复了xcode的问题 – select抱怨。 这似乎表明常规appname是在其searchpath,但变种不是。

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