Jak zaktualizować Xcode z wiersza poleceń

326

Próbuję zaktualizować Xcode z wiersza poleceń. Początkowo próbowałem uruchomić:

 xcode-select --install

co spowodowało wyświetlenie tego komunikatu:

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

Pozostaje pytanie, czy istnieje sposób na aktualizację Xcode z wiersza poleceń?

psvj
źródło
@RohitPradhan Czy to działa?
psvj
@psjv ... jeszcze nie próbował,
Rohit Pradhan
Więc oczywiście możesz zainstalować ze sklepu z aplikacjami ... Mam jednak przeczucie, że użycie polecenia terminalu będzie szybsze i bardziej wydajne niż korzystanie z AppStore (GUI?). Czy ktoś może skorzystać z tego pomysłu? Umieszczam GUI w nawiasie, ponieważ nie wiem, czy używam właściwej terminologii.
Bozeyman9000,

Odpowiedzi:

409

To, czego faktycznie używasz, to polecenie instalacji narzędzi wiersza polecenia Xcode - xcode-select --install. Stąd otrzymany komunikat o błędzie - narzędzia są już zainstalowane.

Polecenie, które musisz zaktualizować Xcode to softwareupdate command [args ...]. Możesz użyć, softwareupdate --listaby zobaczyć, co jest dostępne, a następnie softwareupdate --install -azainstalować wszystkie aktualizacje lub softwareupdate --install <product name>zainstalować tylko aktualizację Xcode (jeśli jest dostępna). Możesz uzyskać nazwę z polecenia listy.

Jak wspomniano w komentarzach tutaj, jest strona podręcznika dla softwareupdatenarzędzia.

Aktualizacja 2019

Wielu użytkowników doświadcza problemów, gdzie softwareupdate --install -abędzie w rzeczywistości nie aktualizować do najnowszej wersji Xcode . Przyczyną tego jest bardziej niż prawdopodobnie oczekująca aktualizacja systemu macOS (jak wskazał @brianlmerritt poniżej). W większości przypadków najpierw aktualizacja macOS rozwiąże problem i pozwoli również na aktualizację Xcode .

Aktualizacja narzędzi wiersza poleceń Xcode

Duża część użytkowników ląduje na tej odpowiedzi, próbując zaktualizować Narzędzia wiersza polecenia Xcode . Najłatwiejszym sposobem na osiągnięcie tego jest usunięcie starej wersji narzędzi i zainstalowanie nowej.

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

Pojawi się wyskakujące okienko, które poprowadzi cię przez resztę procesu.

Vel Genov
źródło
8
Hmm, dla mnie z jakiegoś powodu aktualizacja jest wymieniona w App Store, ale nie wymieniona w wierszu poleceń.
Gino Pane
2
--listi --install -a+1
Jacksonkr
2
@GinoPane Same. softwareupdate --list powiedział brak aktualizacji, mimo że App Store pokazał aktualizację dla Xcode.
Cyfrowa nietrwałość
64
Podczas testowania softwareupdate --install -anawet nie aktualizuje Xcode, więc odpowiedź wydaje się całkowicie błędna.
Charlie Gorichanaz
4
Ran, softwareupdate -i -raby zainstalować [recommended]tylko instalację, która była narzędziami wiersza poleceń. Pobrano go dwukrotnie, zainstalowano raz, a następnie zakończono. Widząc, że to nie rozwiązało problemu, przeniosłem się softwareupdate --listi rekomendacja nie zniknęła . W AppStore aktualizacja oprogramowania zniknęła, a następnie pojawiła się ponownie. Po zrobieniu tego przez AppStore, zostałem poproszony o zaakceptowanie warunków użytkownika. Po zaakceptowaniu wydawało się, że działa. Powtarzany bieg softwareupdate --listi pokazał się jako nadal zalecany ...
GMarx
189

Miałem ten sam problem i rozwiązałem go, wykonując następujące czynności:

  1. usuwanie starych narzędzi ( $ sudo rm -rf /Library/Developer/CommandLineTools)
  2. zainstaluj ponownie narzędzia wiersza polecenia xcode ( $ xcode-select --install).

Po tych krokach zobaczysz komunikat pop, aby zainstalować nową wersję narzędzi.

ipinak
źródło
3
Dzięki człowieku, to rozwiązanie również działa dla mnie. Spędziłem cały dzień starając się to ominąć.
Adebayo,
1
@ipinak Czy usuwanie całego folderu CommandLineTools nie jest ryzykowne?
Aryan Venkat
1
@AryanVenkat dlaczego powinien być ryzykowny? Możesz je ponownie zainstalować w dowolnym momencie.
ipinak
2
Wydawało mi się, że to działa: polecenia uruchomiono bez błędów, wyskakujące okienko zakończyło się, a nowy /Library/Developer/CommandLineToolskatalog został zainstalowany. Jednak nowy katalog był również nieaktualny (od Xcode 7.3 zamiast obecnego 9.4), więc nie rozwiązał mojego problemu. W końcu szukałem narzędzi dla programistów na developer.apple.com/download/more i pobierałem Command_Line_Tools_macOS_10.13_for_Xcode_9.4.1stamtąd.
jbyler
25
Mogłem tylko usunąć / Library / Developer / CommandLineTools, dodając sudo, więc stało sięsudo rm -rf /Library/Developer/CommandLineTools
George
45

Ten sam problem napotkałem, gdy odinstalowałem pełną wersję Xcode, aby ponownie zainstalować wersję CLI. Moja poprawka to:

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

Cyril Bouthors
źródło
czasami metoda brutalnej siły jest najłatwiejszą i najmniej złożoną (szczególnie w AppleLand) - jednak wciąż kończy się na starszej wersji
nhed
Po uaktualnieniu urządzenia do Cataliny nie byłem w stanie zainstalować cocoapods, dopóki tego nie zrobiłem. Ale wydaje się, że doprowadziło to do dalszych problemów, ponieważ xcodebuild wymaga xcode, ale aktywny katalog programisty „/ Library / Developer / CommandLineTools” jest instancją narzędzi wiersza poleceń. Następnie musiałem uruchomić, sudo xcode-select -raby zresetować ścieżkę narzędzi wiersza poleceń.
Lawrence Weru
20

To uratowało mi dzień. Wystarczy wpisać polecenia

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

Odniesienie: https://forums.developer.apple.com/thread/104296

Roy Huang
źródło
Nie mogę powiedzieć, że jest to poprawna odpowiedź sama w sobie, ponieważ próbowałem również wielu innych rozwiązań tutaj podanych, ale dopiero po użyciu tego rozwiązania problem został rozwiązany, dzięki!
jupiar
14

Ten błąd wystąpił po usunięciu Xcode. Naprawiłem to, resetując ścieżkę narzędzi wiersza poleceń za pomocą sudo xcode-select -r.

Przed:

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

Po:

navin@Radiant ~$ /usr/bin/clang
clang: error: no input files
Navin
źródło
1
Naprawiłem to dla mnie. Usunąłem również Xcode i napotkałem powyższy błąd. Chociaż próbowałem ponownie zainstalować tylko narzędzia wiersza polecenia, korzystając z sugestii zawartych w innych odpowiedziach, to ostatecznie rozwiązało problem.
Ryan Marten
11
$ sudo rm -rf /Library/Developer/CommandLineTools
$ xcode-select --install
Minato
źródło
3
Dodając odpowiedź do starszego pytania z istniejącymi odpowiedziami, warto wskazać, jaki nowy aspekt dotyczy twoich odpowiedzi, a także odpowiedzieć, czy upływ czasu i wydanie nowej wersji ma wpływ na odpowiedź.
Jason Aller
Potwierdzono, że działa to w Mac OS Catalina beta. Uruchamia okno instalacji, aby pobrać wymagane oprogramowanie po zatwierdzeniu dostępu.
Jas
8

Odpowiedź @Vel Genov jest poprawna, z wyjątkiem sytuacji, gdy nie można zaktualizować wersji Xcode, ponieważ jest to najnowsza wersja dla bieżącej wersji systemu Mac OS. Jeśli wiesz, że istnieje nowszy Xcode (na przykład nie załaduje aplikacji na urządzenie z najnowszą wersją systemu iOS), musisz najpierw zaktualizować system Mac OS.

Dodatkowa uwaga dla osób takich jak ja ze starym komputerem Mac Pro 5.1. Aktualizacja do Mojave wymagała zainstalowania metalowego procesora (w moim przypadku Sapphire AMD Radeon RX 560), ale upewnij się, że zainstalowany jest tylko monitor HDMI (nie tylko 4K! 1080). Dopiero wtedy mojave powiedziała, że ​​wymagana jest aktualizacja oprogramowania układowego i zamknęła komputer. Długie 2-minutowe przytrzymanie przycisku zasilania, a potem wszystko w porządku!

brianlmerritt
źródło
6

Po zainstalowaniu narzędzi wiersza polecenia (z xcode-select --install) wpisz:

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

Powinieneś być w stanie uruchomić git teraz:

10:29 $ git --version
git version 2.17.2 (Apple Git-113)
Iuri Gavronski
źródło
To uratowało mi życie - działa w 2019 r., Ponieważ inne odpowiedzi już nie działają
Nick
Mogę potwierdzić, że działa dla mnie w najnowszej wersji Mac Catlina (10.15.4 (19E287))
Gaurav Sarma
5

Próbowałem użyć aplikacji React-Native Expo z aplikacją create-reag-native-app, ale z jakiegoś powodu uruchomiłbym mój symulator i zawiesił się bez ładowania aplikacji. Powyższa odpowiedź ipinak powyżej zresetowała narzędzia CLI Xcode, ponieważ próba aktualizacji do najnowszego CLI Xcode nie działała. dwa polecenia to:

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

Ten proces wymaga czasu ze względu na pobieranie. Zostawiam to tutaj, ponieważ wszelkie inne będą dotyczyły tej konkretnej poprawki React-Native Expo.

RawBData
źródło
4

Xcode :: Install to proste oprogramowanie cli, które pozwala zainstalować / wybrać określoną wersję Xcode.

Możesz go zainstalować za pomocą. gem install xcode-install
Następnie będziesz mógł zainstalować konkretną wersję za pomocą. xcversion install 9.4.1
Jeśli masz zainstalowaną więcej niż jedną wersję, możesz przełączyć wersję za pomocąxcversion select 9.4

Możesz znaleźć więcej informacji na https://github.com/KrauseFx/xcode-install

obit
źródło
1

Dla tych, którzy mają ten problem po aktualizacji do Cataliny, po prostu wykonaj to polecenie na swoim terminalu

sudo rm -rf /Library/Developer/CommandLineTools; xcode-select --install;
Adeojo Emmanuel IMM
źródło
1
Nie dodaje to niczego do innych odpowiedzi, które już wspominają te dokładne polecenia.
bfontaine
1

Cześć Rozwiązałem to w ten sposób:

Zainstaluj aplikację> Xcode.app> Contents> Resources> Packages> XcodeSystemResources.pkg.

Abdulkadir Turan
źródło
0

xCode wersja 11.2.1 jest niezbędna do zbudowania aplikacji na iPadzie 13.2.3. Kiedy próbuję bezpośrednio uaktualnić z xcode 11.1 do 11.2.1 za pośrednictwem App Store, pojawia się błąd, więc po przeprowadzeniu badań znalazłem rozwiązanie do aktualizacji poprzez usunięcie istniejący kod x z systemu

Więc tutaj dodaję kroki do aktualizacji po odinstalowaniu istniejącego xcode.

  1. Przejdź do aplikacji i zidentyfikuj Xcode i przeciągnij go do kosza.
  2. Opróżnij kosz, aby trwale usunąć Xcode.
  3. Teraz przejdź do folderu ~ / Library / Developer / i całkowicie usuń zawartość Użyj sudo rm -rf ~ / Library / Developer /, aby uniknąć problemów z uprawnieniami podczas usuwania
  4. Na koniec usuń katalog pamięci podręcznej skojarzony z xcode ze ścieżki ~ / Library / Caches / com.apple.dt.Xcode sudo rm -rf ~ / Library / Caches / com.apple.dt.Xcode / *
  5. Po wykonaniu powyższych kroków możesz łatwo zainstalować xcode z App Store, który zainstaluje aktualną najnowszą wersję xcode

Uwaga: przed dokonaniem powyższych zmian wykonaj kopię zapasową istniejących projektów

Ajith
źródło