После того, как я использовал помощник по миграции для переноса данных со старого 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
I , то не получит ошибку выше.
Вот что я попробовал:
- Установка инструментов командной строки с использованием
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
, запускаю xcodebuild
из этого места выдает ту же ошибку. Таким образом, запуск xcodebuild
, который поставляется с предустановленным Xcode, не вызывает ошибок, но один из инструментов командной строки выдает ошибку. Это озадачивает и также предполагает, что, когда я пытаюсь удалить все инструменты командной строки, в моем /usr/bin
остаются те, которые не поставляются с Xcode.
Я пытался их удалить, но безуспешно даже с командой sudo
.
ОБНОВЛЕНИЕ 3
Я нашел обходной путь. Чтобы команда xcodebuild
использовала инструмент, расположенный в /Applications/Xcode.app/Contents/Developer/usr/bin
, а не в /usr/bin
, я добавил следующую строку в свой .bash_profile
:
export PATH="/Applications/Xcode.app/Contents/Developer/usr/bin:$PATH"
Этот подход работает, но мой вопрос остается. Я не понимаю, почему у меня была эта проблема в первую очередь. Я дважды проверил - мой PATH
не содержит /Applications/Xcode.app/Contents/Developer/usr/bin
на моем старом Mac, и там все прекрасно работает.
По какой-то причине xcodebuild
, расположенный в /usr/bin
, поврежден и не может быть обновлен каким-либо образом.