Otwórz narzędzia wiersza poleceń DMG, a znajdziesz meta-pakiet, który możesz wyodrębnić za pomocą komendy pkgutil --expand 'Command Line Tools.mpkg' metapackage
. Otwórz plik metapackage/Distribution
że właśnie wyodrębnione w edytorze tekstu, aby zobaczyć te pakiety, które zawierają metapakietu:
com.apple.pkg.DevSDK
com.apple.pkg.X11SDK
com.apple.pkg.QuickTimeSDK
com.apple.pkg.OpenGLSDK
com.apple.pkg.WebKitSDK
com.apple.pkg.FireWireSDK
com.apple.pkg.BluetoothSDK
com.apple.pkg.CoreAudioSDK
com.apple.pkg.JavaSDK
com.apple.pkg.clang
com.apple.pkg.llvm-gcc4.2
com.apple.pkg.X11Documentation
com.apple.pkg.DeveloperToolsCLI
Odpowiednie pliki pakietów znajdują się w ukrytym katalogu obok Packages
metapakiet. Ich zawartość można znaleźć pod numerem pkgutil --payload-files
.
Jeśli masz plik na dysku, a chcesz wiedzieć, który pakiet pochodzi:
$ pkgutil --file-info /usr/bin/clang
volume:/
path: /usr/bin/clang
pkgid: com.apple.pkg.clang
pkg-version: 4.3.0.0.1.1249367152
install-time: 1342021874
uid: 0
gid: 0
mode: 755
Teraz trochę informacji premia, która będzie przydatna, jeśli kiedykolwiek chcesz usunąć się narzędzia wiersza polecenia. Apple w swojej nieskończonej mądrości odmawia udostępnienia narzędzia, ale możemy uzyskać potrzebne informacje, używając pkgutil
do wyświetlania informacji o zainstalowanych pakietach.
Po pierwsze, pkgutil --pkgs
wyświetli listę wszystkich zainstalowanych pakietów. Porównaj wyjście z powyższej listy pakietów.
pkgutil --info
wyświetli informacje o zainstalowanym pakiecie; na przykład:
$ pkgutil --info com.apple.pkg.clang
package-id: com.apple.pkg.clang
version: 4.3.0.0.1.1249367152
volume:/
location:/
install-time: 1342021874
groups: com.apple.FindSystemFiles.pkg-group com.apple.DevToolsBoth.pkg-group com.apple.DevToolsNonRelocatableShared.pkg-group
pkgutil --files
wyświetli zawartość zainstalowanego pakietu, w stosunku do volume
i location
pól podanych przez pkgutil --info
. Ponieważ ścieżki bezwzględne nie są używane, nie można po prostu potokować wyniku tej komendy do xargs rm -f
, aby usunąć pliki pakietu; musisz samodzielnie naprawić ścieżki, być może z czymś takim, jak pkgutil --files com.example.pkgname | while read line; do rm -f "/install_location/$line"; done
.
Po usunięciu plików pakietu, należy uruchomić pkgutil --forget
, aby usunąć informacje o zainstalowanym pakiecie z bazy danych pakietów.
To powinien powiem, że powinieneś być bardzo ostrożny, jeśli spróbujesz tego: jesteś jedną literówką z powodu tak dużego wkręcenia systemu, że będziesz musiał go przeinstalować, nie mówiąc już o swoich cennych dane!
pkgutil
ma kilka innych przydatnych opcji do sprawdzenia, czy wszystkie pliki pakietu są obecne i do przywrócenia ich uprawnień; szczegółowe informacje można znaleźć na stronie its manual page.
Zasadniczo będzie to działać w przypadku każdego pakietu, należy jednak pamiętać, że niektóre pakiety mogą mieć osadzone skrypty uruchamiane po zainstalowaniu pakietu; oczywiście, samo usunięcie plików pakietu nie spowoduje usunięcia wszystkich śladów pakietu z twojego systemu. Musisz wyodrębnić zawartość pakietu i przeczytać kod źródłowy skryptu, a następnie zdecydować, jak najlepiej cofnąć efekty działania skryptu.
Wyobrażam sobie, że powinny być dostępne z linii poleceń, jak zwykle. Zwykle są instalowane do '/ usr/bin' lub są tam dowiązane symbolicznie. Przynajmniej tak było w przeszłości. Teraz, gdy nie są one dołączone do instalacji domyślnie nie jestem pewien, co to jest lokalizacja instalacji. – prodigitalson
To tylko podzbiór narzędzi programistycznych z GCC i nagłówków do kompilacji oprogramowania, a także narzędzi do kompilacji, które domyślnie mogą nie być w systemie, jak make llvm, itp. Wcześniej używałeś pełnego kodu Xcode , teraz został podzielony na osobny składnik mpkg, który jest super wygodny dla tych z Homebrew lub Macportów, ale tak naprawdę nie potrzebuje XCode. Co dokładnie próbujesz znaleźć/użyć? JEŚLI masz już zainstalowany Xcode, powinieneś już mieć te rzeczy. – prodigitalson
Nie wiem, jak utworzyć projekt, ale żeby zbudować, zrobiłbyś 'xcodebuild', istnieje' xcodeindex', który indeksuje folder projektu. oraz 'xcode-select', który wybiera lokalizację folderu Xcode (prawdopodobnie, jeśli masz wiele wersji xcode lub wiele wersji powiązanych narzędzi). Jeśli wykonasz polecenie 'man xcode-select', zobaczysz szereg dodatkowych narzędzi, które są wymienione na końcu. Możesz wtedy zrobić 'man' dla dowolnego z tych innych narzędzi do użycia. – prodigitalson