10

在我使用迁移助手将数据从旧 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,我没有收到上面的错误。

这是我尝试过的:

  1. 使用xcode-select --install.
  2. 卸载位于/Library/Developer/CommandLineTools/.
  3. 表演sudo xcode-select --switch /Library/Developer/CommandLineTools/
  4. 表演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 不附带的。xcodebuildxcodebuild/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已损坏且无法以任何方式更新。

4

0 回答 0