Как обновить Xcode из командной строки


326

Я пытаюсь обновить Xcode из командной строки. Сначала я попытался запустить:

 xcode-select --install

что привело к этому сообщению:

xcode-select: error: command line tools are already installed, use "Software Update" to install updates

Таким образом, остается вопрос, есть ли способ обновить Xcode из командной строки?



@RohitPradhan это работает?
PSVJ

@psjv ... еще не пробовал,
Рохит Прадхан

Очевидно, что вы можете установить из магазина приложений ... Однако у меня есть предположение, что использование команды терминала будет быстрее и эффективнее, чем использование магазина приложений (GUI?). Кто-нибудь может развить эту идею? Я помещаю GUI в парантез, потому что я не знаю, использую ли я правильную терминологию.
Bozeyman9000

Ответы:


409

На самом деле вы используете команду для установки инструментов командной строки Xcode - xcode-select --install. Отсюда и сообщение об ошибке - инструменты уже установлены.

Команда, которую вам нужно обновить, это Xcode softwareupdate command [args ...]. Вы можете использовать, softwareupdate --listчтобы увидеть, что доступно, а затем softwareupdate --install -aустановить все обновления или softwareupdate --install <product name>установить только обновление XCode (если доступно). Вы можете получить имя из списка команды.

Как уже упоминалось в комментариях, здесь находится справочная страница для softwareupdateинструмента.

2019 Обновление

Многие пользователи испытывают проблемы, когда softwareupdate --install -aфактически не обновляются до последней версии Xcode . Причина этого, скорее всего, в ожидании обновления macOS (как указано ниже @brianlmerritt). В большинстве случаев обновление macOS в первую очередь решит проблему и позволит также обновить Xcode .

Обновление инструментов командной строки Xcode

Большая часть пользователей использует этот ответ, пытаясь обновить инструменты командной строки Xcode . Самый простой способ добиться этого - удалить старую версию инструментов и установить новую.

sudo rm -rf /Library/Developer/CommandLineTools
xcode-select --install

Появится всплывающее окно, которое проведет вас через весь остальной процесс.


8
Хм, для меня почему-то обновление указано в App Store, но не указано в командной строке.
Джино Пан

2
--listи --install -a+1
Джексонкр

2
@GinoPane То же самое. softwareupdate --list сказал, что обновлений нет, хотя в App Store было показано обновление для Xcode.
Цифровая непостоянство

64
При тестировании softwareupdate --install -aдаже не обновляет Xcode, поэтому ответ кажется совершенно неправильным.
Чарли

4
Побежал softwareupdate -i -rустанавливать [recommended]только установку, которая была Командная строка Tools. Загружается дважды, устанавливается один раз, затем завершается. Видя, что это не решило проблему, я вернулся, softwareupdate --listи рекомендация сохранилась. В AppStore обновление программного обеспечения исчезло, а затем снова появилось. После этого через AppStore мне предложили принять условия пользователя. После принятия это, казалось, сработало. Повторный запуск, softwareupdate --listи он появился, как все еще рекомендуется ...
GMarx

189

У меня была та же проблема, и я решил сделать следующее:

  1. удаление старых инструментов ( $ sudo rm -rf /Library/Developer/CommandLineTools)
  2. Снова установите инструменты командной строки xcode ( $ xcode-select --install).

После этих шагов вы увидите всплывающее окно для установки новой версии инструментов.


3
Спасибо человек, это решение работает для меня тоже. Я провел целый день, пытаясь обойти это.
Адебайо

1
@ipinak Не рискованно ли удалять всю папку CommandLineTools?
Ариан Венкат

1
@AryanVenkat, почему это должно быть рискованно? Вы можете переустановить их в любое время.
ипинак

2
Мне показалось, что это работает: команды выполнялись без ошибок, всплывающее окно запускалось до конца и /Library/Developer/CommandLineToolsбыл установлен новый каталог. Однако новый каталог также устарел (из Xcode 7.3 вместо текущего 9.4), поэтому он не решил мою проблему. Я закончил поиском инструментов для разработчиков на developer.apple.com/download/more и загрузил их Command_Line_Tools_macOS_10.13_for_Xcode_9.4.1оттуда.
Jbyler

25
Я мог только удалить / Library / Developer / CommandLineTools, добавив sudo, чтобы это сталоsudo rm -rf /Library/Developer/CommandLineTools
Джордж

45

Я столкнулся с той же проблемой, когда я удалил полную версию Xcode, чтобы переустановить версию CLI. Мое исправление было:

sudo xcode-select -s /Library/Developer/CommandLineTools


иногда грубая сила способ является самым простым и наименее сложный путь (особенно верно в AppleLand) - однако до сих пор в конечном итоге с более старой версией
nhed

После обновления устройства до Catalina я не смог установить cocoapods, пока не сделал это. Но, похоже, это привело к дальнейшим проблемам: xcodebuild требует xcode, но активный каталог разработчика '/ Library / Developer / CommandLineTools' является экземпляром инструментов командной строки. Затем мне пришлось бежать, sudo xcode-select -rчтобы сбросить путь инструментов командной строки.
Лоуренс Веру

20

Это спасло мой день. Просто введите команды

cd  /Library/Developer/CommandLineTools/Packages/;
open macOS_SDK_headers_for_macOS_10.14.pkg

Ссылка: https://forums.developer.apple.com/thread/104296


Я не могу сказать, что это правильный ответ сам по себе, поскольку я также попробовал множество других решений, представленных здесь, но только после использования этого решения проблема была решена, спасибо!
Юпияр

14

Я получил эту ошибку после удаления Xcode. Я исправил это путем сброса пути инструментов командной строки с помощью sudo xcode-select -r.

Перед:

navin@Radiant ~$ /usr/bin/clang
xcrun: error: active developer path ("/Applications/Xcode.app/Contents/Developer") does not exist
Use `sudo xcode-select --switch path/to/Xcode.app` to specify the Xcode that you wish to use for command line developer tools, or use `xcode-select --install` to install the standalone command line developer tools.
See `man xcode-select` for more details.

navin@Radiant ~$ xcode-select --install
xcode-select: error: command line tools are already installed, use "Software Update" to install updates

После:

navin@Radiant ~$ /usr/bin/clang
clang: error: no input files

1
Это исправило это для меня. Я также удалил Xcode и столкнулся с ошибкой выше. Хотя я пытался переустановить только инструменты командной строки, используя предложения из других ответов, это то, что в конечном итоге решило проблему.
Райан Мартен

11
$ sudo rm -rf /Library/Developer/CommandLineTools
$ xcode-select --install

3
При добавлении ответа на более старый вопрос с существующими ответами полезно указать, к какому новому аспекту относится ваш ответ, а также указать, влияет ли на ответ влияние времени и выпуска новой версии.
Джейсон Аллер

Подтверждено, что это работает на Mac OS Catalina beta. Он запускает окно установки для загрузки необходимого программного обеспечения после подтверждения доступа.
Jas

8

@Vel Genov отвечает правильно, за исключением случаев, когда версия XCode не может быть обновлена, потому что это последняя версия для вашей текущей версии Mac OS. Если вы знаете, что есть более новый XCode (например, он не будет загружать приложение на устройство с последней версией iOS), тогда необходимо сначала обновить Mac OS.

Примечание для тех, кто, как я, со старым Mac Pro 5.1. Обновление до Mojave потребовало установки металлического графического процессора (в моем случае Sapphire AMD Radeon RX 560), но убедитесь, что установлен только монитор HDMI (не только 4K! 1080). Только после этого Mojave установил обновление прошивки и выключил компьютер. Длительное удержание 2-х минутной кнопки питания и все это прекрасно обновилось после этого!


6

После установки инструментов командной строки (с помощью xcode-select --install) введите:

sudo xcode-select --switch /Library/Developer/CommandLineTools/

Теперь вы должны запустить git:

10:29 $ git --version
git version 2.17.2 (Apple Git-113)

Это спасло мне жизнь - это работает в 2019 году, так как другие ответы больше не работают
Ник

Я могу подтвердить, это работает для меня в последней версии Mac Catlina (10.15.4 (19E287))
Гаурав Сарма

5

Я пытался использовать приложение React-Native Expo с приложением create-Reaction-native-app, но по какой-то причине оно запускало мой симулятор и просто зависало без загрузки приложения. Приведенный выше ответ от ipinak выше сбрасывает инструменты интерфейса командной строки Xcode, поскольку попытка обновления до последней версии интерфейса командной строки Xcode не работает. две команды:

rm -rf /Library/Developer/CommandLineTools
xcode-select --install

Этот процесс требует времени из-за загрузки. Я оставляю это здесь для любых других поисков этого конкретного исправления React-Native Expo.


4

Xcode :: Install - это простое программное обеспечение, которое позволяет вам установить / выбрать определенную версию Xcode.

Вы можете установить его с помощью gem install xcode-install
Тогда вы сможете установить конкретную версию с xcversion install 9.4.1
И если у вас установлено более одной версии, вы можете переключить версию сxcversion select 9.4

Вы можете найти больше информации на https://github.com/KrauseFx/xcode-install


1

Тем, у кого возникла эта проблема после обновления до Catalina, просто выполните эту команду на своем терминале

sudo rm -rf /Library/Developer/CommandLineTools; xcode-select --install;

1
Это не добавляет ничего к другим ответам, которые уже упоминают эти точные команды.
bfontaine


0

Версия xCode 11.2.1 необходима для создания приложения в iPad 13.2.3. Когда я напрямую пытаюсь обновить xcode 11.1 до 11.2.1 через App Store, это поражает, поэтому после некоторых исследований я нашел решение для обновления, удалив существующий код из системы

Поэтому здесь я добавляю шаги по обновлению после удаления существующего xcode.

  1. Перейдите в Приложения и определите Xcode и перетащите его в корзину.
  2. Пустой мусор для постоянного удаления Xcode.
  3. Теперь перейдите в папку ~ / Library / Developer / и полностью удалите содержимое. Используйте sudo rm -rf ~ / Library / Developer /, чтобы избежать проблем с разрешением при удалении.
  4. Наконец, удалите любой каталог кэша, связанный с xcode, по пути ~ / Library / Caches / com.apple.dt.Xcode sudo rm -rf ~ / Library / Caches / com.apple.dt.Xcode / *
  5. После выполнения описанных выше шагов вы можете легко установить xcode из App Store, который установит текущую последнюю версию xcode

Примечание: пожалуйста, сделайте резервную копию ваших существующих проектов, прежде чем вносить вышеуказанные изменения

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.