93 macos xcode operating-system osx-mavericks
我已经安装了命令行工具:
$ xcode-select --print-path
/Library/Developer/CommandLineTools
Run Code Online (Sandbox Code Playgroud)
但是,当任何尝试使用时xcodebuild,我收到以下错误:
$ /usr/bin/xcodebuild
xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance
Run Code Online (Sandbox Code Playgroud)
在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
Run Code Online (Sandbox Code Playgroud)
Jua*_*nan 60
我知道这是一个迟到的答案,但在我的情况下,这个命令解决了这个问题:
sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer
Run Code Online (Sandbox Code Playgroud)
log*_*yth 20
似乎OSX已经更改xcodebuild为要求XCode安装,只有安装了OSX命令行工具才能正常运行.
许多人遇到了Node.节点的构建工具,gyp,使用xcodebuild用于编译节点包准备.小牛队改变了他们的行为xcodebuild,使其不再正常运作gyp.目前正在修复此问题.请参阅node-gyp问题
将更改部署到NPM后,您将能够安装新node-gyp软件包并正确编译.一旦将更改合并到NPM中,您还需要更新NPM版本.
Muh*_*fan 15
请先查看finder,然后从左侧面板选择Applications,接下来查看Xcode,并检查其名称是Xcode还是Xcode-Beta
如果name是Xcode-Beta,则在Terminal中输入以下命令:
sudo xcode-select -switch /Applications/Xcode-Beta.app/Contents/Developer
Run Code Online (Sandbox Code Playgroud)
如果name是Xcode,则输入以下命令:
sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer
Run Code Online (Sandbox Code Playgroud)
希望这个答案可能对使用Beta版Xcode的用户有所帮助
谢谢
car*_*rso 10
此问题是由于xcode-select 开发人员目录指向/Library/Developer,仅包含该文件夹CommandLineTools.为此,错误消息抱怨该目录与Xcode不同.
两种测试解决方案
(重新)安装Xcode.
使用以下命令将xcode-select指向Xcode Developer Directory:
sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer
Run Code Online (Sandbox Code Playgroud)参考文献:
如何修复错误,如"xcode-select:error:tool'xcodebuild'需要Xcode,但需要有效的开发人员目录
小智 -3
AFAIK,Mavericks 中的命令行工具安装在 /Applications/Xcode.app/Contents/Developer 中,这往往意味着需要 Xcode。可能是未记录的功能。