在我使用迁移助手将数据从旧 Mac 迁移到新 Mac 后,我无法再使用 Xcode 命令行工具。每当我xcodebuild
在终端中运行任何命令时(即使xcodebuild
没有参数),我都会收到以下错误:
dyld: Library not loaded: @rpath/DVTFoundation.framework/Versions/A/DVTFoundation
Referenced from: /usr/bin/xcodebuild
Reason: image not found
Abort trap: 6
当我跑步时,which xcodebuild
我得到/usr/bin/xcodebuild
.
当我跑步时,xcode-select -p
我得到/Applications/Xcode.app/Contents/Developer
.
奇怪的是,如果我去/Applications/Xcode.app/Contents/Developer/usr/bin
打电话./xcodebuild
,我没有收到上面的错误。
这是我尝试过的:
- 使用
xcode-select --install
. - 卸载位于
/Library/Developer/CommandLineTools/
. - 表演
sudo xcode-select --switch /Library/Developer/CommandLineTools/
。 - 表演
sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer/
。
这些都不能解决我的问题。
我正在运行 Xcode 9.4.1 和 macOS High Sierra 10.13.5。
更新 1
我尝试按照本指南完全卸载 Xcode 和所有命令行构建工具。奇怪的是,一旦我按照所有步骤操作,运行xcodebuild
命令会产生与以前相同的结果。并且xcodebuild
仍然位于/usr/bin
。
更新 2
如果我使用安装命令行工具xcode-select --install
并从该位置/Library/Developer/CommandLineTools/usr/bin
运行会产生相同的错误。因此,预装 Xcode 的运行不会产生错误,但命令行工具中的运行会产生错误。这令人费解,并且还暗示当我尝试删除所有命令行工具时,我留下的那些是 Xcode 不附带的。xcodebuild
xcodebuild
/usr/bin
我尝试删除它们,但即使使用sudo
命令我也不成功。
更新 3
我找到了解决方法。为了确保该xcodebuild
命令使用位于 中的工具/Applications/Xcode.app/Contents/Developer/usr/bin
而不是位于 中的工具/usr/bin
,我在我的 中添加了以下行.bash_profile
:
export PATH="/Applications/Xcode.app/Contents/Developer/usr/bin:$PATH"
这种方法有效,但我的问题仍然存在。我不明白为什么我首先会遇到这个问题。我已经仔细检查过 - 我的旧 Mac 上PATH
不包含/Applications/Xcode.app/Contents/Developer/usr/bin
我的内容,并且在那里一切正常。
看起来由于某种原因,xcodebuild
位于/usr/bin
已损坏且无法以任何方式更新。