无法在安装了命令行工具的 Mavericks 上使用 xcodebuild
Posted
技术标签:
【中文标题】无法在安装了命令行工具的 Mavericks 上使用 xcodebuild【英文标题】:Unable to use xcodebuild on Mavericks with Command Line Tools installed 【发布时间】: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
【参考方案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不一样。
两个经过测试的解决方案:
(重新)安装 Xcode。
使用以下命令将 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
命令。
【讨论】:
以上是关于无法在安装了命令行工具的 Mavericks 上使用 xcodebuild的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 ruby 和命令行工具在 Mavericks 中正确安装 cocoapod?
无法使用 Postgres.app 在 Mavericks 中安装 pg gem
Android Studio 无法在 Mac OSX (Mavericks) 上加载 JVM