Як оновити 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 ... ще не пробували,
Rohit Pradhan

Отже, очевидно, ви можете встановити його з магазину додатків ... Однак я маю на увазі, що використання команди терміналу буде швидше і ефективніше, ніж використання додатка (GUI?). Чи може хтось будувати на цій ідеї? Я ставлю GUI в парантез, тому що я не знаю, чи я використовую правильну термінологію.
Бозейман9000

Відповіді:


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.
Digital Impermanence

64
Після тестування softwareupdate --install -aнавіть не оновлює Xcode, тому здається, що відповідь абсолютно неправильна.
Чарлі Горічаназ

4
Ран softwareupdate -i -rдля установки [recommended]тільки встановити, що були інструментами командного рядка. Завантажено двічі, встановлено один раз, а потім завершено. Бачачи, що це не вирішило проблему, я повторно застосував softwareupdate --listі рекомендація збереглася. В AppStore оновлення програмного забезпечення зникло, а потім з’явилося знову. Роблячи це через AppStore, мені запропонували прийняти користувацькі умови. Після прийняття, здавалося, працює. Повторний біг, softwareupdate --listі він виявився як і раніше рекомендований ...
GMarx

189

У мене було те саме питання, і я вирішив наступне:

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

Після цих кроків ви побачите спливаюче вікно для встановлення нової версії інструментів.


3
Дякую людині, це рішення працює і для мене. Я провів цілий день, намагаючись пройти це.
Адебайо

1
@ipinak Не видаляє всю папку CommandLineTools ризикованою?
Aryan Venkat

1
@AryanVenkat чому це повинно бути ризикованим? Ви можете їх знову встановити в будь-який час.
ipinak

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
Я міг лише видалити / Бібліотека / Розробник / CommandLineTools, додавши sudo, щоб це сталоsudo rm -rf /Library/Developer/CommandLineTools
Джордж

45

З тією ж проблемою я зіткнувся, коли видалив повну версію Xcode для перевстановлення версії CLI. Моє виправлення:

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


Іноді спосіб грубої сили є найпростішим і найменш складним способом (правда, правда в AppleLand) - однак все-таки закінчився старішою версією
188

Після оновлення пристрою до Каталіни я не зміг встановити какаоди, поки цього не зробив. Але, схоже, це призвело до подальших проблем, оскільки 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


Я не можу сказати, що це правильна відповідь сама по собі, оскільки я також спробував численні інші рішення, надані тут, але лише після використання цього рішення проблема була вирішена, дякую!
jupiar

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

@Вель Генов відповідь правильна, за винятком випадків, коли версію Xcode неможливо оновити, оскільки це остання версія для вашої поточної версії Mac OS. Якщо ви знаєте, що є новіший Xcode (наприклад, він не завантажує додаток на пристрій із останньою версією iOS), тоді потрібно спочатку оновити Mac OS.

Подальша примітка для таких, як я зі старим Mac Pro 5.1. Для оновлення до Mojave потрібна установка металевого gpu (у моєму випадку 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))
Gaurav Sarma

5

Я намагався використовувати додаток React-Native Expo з create-react-native-app, але чомусь він запустить мій тренажер і просто зависне, не завантажуючи додаток. Наведена вище відповідь ipinak вище скинула інструменти CLI для Xcode, оскільки спроба оновлення до останнього Xcode CLI не працювала. дві команди:

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

Для тих, хто має цю проблему після оновлення до Каталіни, просто виконайте цю команду на своєму терміналі

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 з системи

Тому тут я додаю кроки для оновлення після видалення існуючого xcode.

  1. Перейдіть до програми та визначте Xcode та перетягніть його у кошик.
  2. Порожнє кошик для постійного видалення Xcode.
  3. Тепер перейдіть до ~ / Бібліотека / Розробник / Папка та повністю видаліть вміст Використовуйте sudo rm -rf ~ / Бібліотека / Розробник /, щоб уникнути проблеми з дозволом під час видалення
  4. Нарешті, видаліть будь-який каталог кеша, пов’язаний з xcode на шляху ~ / Бібліотека / Кеші / com.apple.dt.Xcode sudo rm -rf ~ / Бібліотека / Кеші / com.apple.dt.Xcode / *
  5. Після виконання вищезазначених кроків ви можете легко встановити xcode з App Store, який встановить останню останню версію xcode

Примітка. Будь ласка, створіть резервну копію існуючих проектів, перш ніж вносити вищевказані зміни

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.