Chciałbym napisać skrypt instalacji narzędzi wiersza polecenia Xcode.
Na Mavericks
xcode-select --install
otworzy okno dialogowe monitujące użytkownika do instalacji, ale chciałbym uruchomić instalację bez okna dialogowego, na przykład za pomocą softwareupdate
polecenia.
Czy jest na to sposób?
Edytować:
W szczególności xcode-select --install
uruchamia aplikację, która pobiera i instaluje narzędzia bez konieczności ręcznego pobierania ich przez użytkownika lub posiadania konta Apple Developer. Wygląda na /System/Library/CoreServices/Install Command Line Developer Tools.app
to, że tego używa .
Chciałbym użyć tego samego mechanizmu, który jest Apple, ale bez GUI. Nie chcę ręcznie pobierać pliku .dmg zawierającego narzędzia, ponieważ wydaje się to kruche. Apple udostępnia kilka innych narzędzi wiersza polecenia, takich jak softwareupdate
i do install
pobierania lub instalowania oprogramowania bezpośrednio z Apple, i szukam tego samego dla tego typu dystrybucji.
Odpowiedzi:
Chciałbym móc ubiegać się o kredyt na ten, ale znalazłem go pochowany w https://github.com/chcokr/osx-init/blob/master/install.sh
Działa to na mojej bezgłowej maszynie wirtualnej 10.10 bez zalogowanego interfejsu użytkownika. Zastosowano aktualizacje zgodności z co najmniej 10.9-10.14
Zakłada się, że masz tylko 1 wynik
softwareupdate -l | grep "\*.*Command Line"
- jeśli zwraca wiele wersji, być może potrzebujesz bardziej szczegółowej logiki. (Nie mam skrzynki z repro)jedna odmiana, która wydaje się działać (ograniczone testy) w dniu 10.10-10.14 (10.9 nie zwraca numeru wersji osx w nazwie narzędzia cli .. więc to nie działa):
kilka przykładowych wyników:
źródło
rm /tmp/.com.apple.dt.CommandLineTools.installondemand.in-progress
po uruchomieniusoftwareupdate -i ...
, w przeciwnym razie kolejne połączenia będąsoftwareupdate -l
wyświetlaneCommand Line Tools ...
jako dostępna aktualizacja. Ta (przypuszczalnie) aktualizacja nie wydaje się pokazywana w App Store, być może dlatego, żesoftwareupdate -l
zawiera tylko aktualizacje „systemowe”, a nie aktualizacje aplikacji.Pobierz pakiet narzędzi wiersza polecenia ze strony Apple Developer .
Zamontuj pobrany 1 DMG:
Uruchom instalator za pomocą wiersza polecenia:
Po zakończeniu odmontuj DMG i usuń pobrany plik.
Wysuń DMG 2 .
Usuń DMG.
1 W momencie pisania, pobrany plik DMG i nazwa pakietu są dokładne, jednak w przyszłości nazwa może ulec zmianie. Pamiętaj, aby zmienić polecenie (lub użyć klawisza tabulacji), aby wypełnić odpowiednią część polecenia.
2 Jeśli polecenie nie działa, sprawdź, czy dysk odpowiada nazwie montowania (zgodnie z
mount
).źródło
Alternatywą jest użycie tego napisanego przeze mnie skryptu jabłkowego:
https://gist.github.com/brysgo/9007731
źródło
Próba oczyszczenia stylu i logiki przyjętej odpowiedzi, sprawiając, że jest ona możliwie najbardziej niezależna od wersji, wykorzystując
softwareupdate
pełną pojemność i wprowadzającos
zmienną wielokrotnego użytku :źródło
Tego używam, częściowo w oparciu o odpowiedź brysgo.
aktualizacja: Apple ciągle dodaje nowe kolumny do bazy danych dostępu, musisz tylko określić wartości dla pierwszych 5, zaktualizował kod, aby to odzwierciedlić.
źródło
Kilka odpowiedzi można znaleźć w tych odpowiedziach:
Pobierz narzędzia wiersza polecenia XCode
Możesz pobrać pakiety XCode 4.x CLTools z ich oficjalnej strony pobierania poprzez bezpośrednie linki.
Oto skrypt , który zautomatyzuje proces instalacji dla Ciebie 1 .
Aby znaleźć zaktualizowane łącza do narzędzi, możesz użyć tego polecenia:
[1] Proszę nie nadużywaj / przeciążaj swoich serwerów
Może się okazać, że łatwiej jest najpierw zalogować się do witryny pobierania dla programistów Apple i pobrać najnowsze dostępne tam narzędzia wiersza poleceń. Następnie możesz hostować
.dmg
na własnym serwerze repozytorium pakietów i mieć możliwość niezawodnej instalacji.dmg
na wielu komputerachhdiutil
bez konieczności logowania się na developer.apple.com.Według stanu na 06.10.2015 link do najnowszych narzędzi wiersza poleceń
dmg
to:http://adcdownload.apple.com/Developer_Tools/Command_Line_Tools_OS_X_10.10_for_Xcode_6.3.2/commandlinetoolsosx10.10forxcode6.3.2.dmg
źródło
dmg
, i skopiowałem podstawowe części odpowiedzi lokalnie do tej odpowiedzi.Odkryłem, że jeśli zainstalujesz Home Brew, automatycznie zainstaluje narzędzia wiersza poleceń.
Przetestowałem to za pomocą tego błędnego obrazu .
Uruchom następujące polecenie, aby zainstalować Homebrew , a tym samym zainstaluj Narzędzia wiersza polecenia.
źródło