ChatGPT解决这个技术问题 Extra ChatGPT

无法在安装了命令行工具的 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 即可使用它,而无需安装命令行工具。在小牛队可以做到这一点吗?我怎样才能让它工作?

注意这是对 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

J
Juanan

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

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

请注意,问题是关于使用命令行工具安装进行构建。通过切换到 Xcode.app,您正在通过 Xcode 构建(问题试图避免安装)。
l
loganfsmyth

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

旧的半相关答案

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

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


不知道为什么这与节点有关,我正在尝试用 Xcode 构建其他东西
确切地说,当您从命令行调用它时,xcodebuild 仍然会触发错误...我实际上是从苹果开发者网站 developer.apple.com/downloads/index.action# 下载了最新的命令行工具
I
Irfan Anwar

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

谢谢


c
carlodurso

此问题是由于 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 已断开
z
zinking

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


s
suite22

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

https://i.stack.imgur.com/KxTvb.png

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

https://i.stack.imgur.com/FsyrH.png

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


t
turibbio

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

注意“\”转义空格。


A
AnneTheAgile

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


m
moreaug44

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