`xcodebuild` не работает с терминала - PullRequest
0 голосов
/ 05 июля 2018

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

Вот что я попробовал:

  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, запускаю 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, поврежден и не может быть обновлен каким-либо образом.

...