`xcodebuild` не работает с терминала
После того, как я использовал помощник по миграции для переноса данных со старого 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
Бег 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
был поврежден и не мог быть обновлен в любом случае.