Nie można użyć xcodebuild na Mavericks z zainstalowanymi narzędziami wiersza poleceń

93

Zainstalowałem narzędzia wiersza poleceń:

$ xcode-select --print-path
/Library/Developer/CommandLineTools

Jednak gdy cokolwiek próbuje użyć, pojawia xcodebuildsię następujący błąd:

$ /usr/bin/xcodebuild
xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance

W Mountain Lion było to możliwe bez instalowania całego Xcode, a raczej tylko narzędzi wiersza poleceń. Czy można to zrobić na Mavericks? Jak mogę to uruchomić?

Uwaga: dotyczy to czystej instalacji Mavericks.

Aktualizacja: żeby pokazać, mam zainstalowane narzędzia wiersza poleceń:

$ gcc --version
Configured with: --prefix=/Library/Developer/CommandLineTools/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
Apple LLVM version 5.0 (clang-500.2.79) (based on LLVM 3.3svn)
Target: x86_64-apple-darwin13.0.0
Thread model: posix

źródło
1
Napotykam ten sam problem, próbując zbudować niektóre moduły węzłów. Mam nadzieję, że dostępne jest szybkie obejście tego problemu.
rossipedia
Utworzyłem problem, node-gypponieważ to jest źródło mojego problemu: github.com/TooTallNate/node-gyp/issues/341
Może musisz zainstalować Xcode. Tak wygląda moja wersja gcc - wersja Skonfigurowana z: --prefix = / Applications / Xcode.app / Contents / Developer / usr --with-gxx-include-dir = / Applications / Xcode.app / Contents / Developer / Platforms /MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk/usr/include/c++/4.2.1 Apple LLVM wersja 5.0 (clang-500.2.79) (na podstawie LLVM 3.3svn) Miejsce docelowe: x86_64-apple-darwin13. 0.0 Model wątku: posix
Martin Christmann
1
Może masz rację, po prostu dziwne, że nie było to konieczne w Mountain Lion z zainstalowanymi narzędziami wiersza poleceń.
Zakładam, że tak xcode-select --install. Z zainstalowanymi xcode-select --print-pathwydrukami Xcode/Applications/Xcode.app/Contents/Developer
mb21

Odpowiedzi:

65

Wiem, że to późna odpowiedź, ale w moim przypadku to polecenie rozwiązało problem:

sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer
Juanan
źródło
15
zauważ, że pytanie dotyczy budowania za pomocą narzędzi wiersza poleceń install. Przełączając się na Xcode.app, budujesz za pomocą Xcode (co w pytaniu próbuje uniknąć instalacji).
bryanmac
23

Wygląda na to, że OSX zmienił się, xcodebuildaby wymagaćXCode instalacji, gdzie wcześniej działał poprawnie z zainstalowanymi tylko narzędziami wiersza poleceń OSX.

Stara częściowo związana odpowiedź

Wiele osób napotkało to w przypadku Node. Narzędzie do kompilacji Node gyp, służy xcodebuilddo przygotowania do kompilowania pakietów węzłów. Mavericks zmienił zachowanie xcodebuildtak, że nie działa już poprawnie z gyp. W tej chwili jest to naprawiane. Zobacz problem z node-gyp

Po wdrożeniu zmian w NPM będziesz mógł zainstalować nowy node-gyppakiet i poprawnie skompilować. Będziesz także musiał zaktualizować wersję NPM, gdy zmiany zostaną wprowadzone do NPM.

loganfsmyth
źródło
nie mam pojęcia, dlaczego jest to powiązane z węzłem, próbuję zbudować coś innego z Xcode
zinking
dokładnie, nadal xcodebuild uruchamia błąd, gdy wywołujesz go z wiersza poleceń ... Właściwie
pobrałem
16

Najpierw przejdź do wyszukiwarki, następnie wybierz Aplikacje z lewego panelu, następnie poszukaj Xcode i sprawdź, czy jego nazwa to Xcode lub Xcode-Beta

Jeśli nazwa to Xcode-Beta, wprowadź to polecenie w Terminalu:

sudo xcode-select -switch /Applications/Xcode-Beta.app/Contents/Developer

Jeśli nazwa to Xcode, wprowadź to polecenie:

sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer

Mam nadzieję, że ta odpowiedź może pomóc użytkownikom Xcode w wersji Beta

Dzięki

Muhammed Irfan
źródło
9

Ten problem był spowodowany wskazaniem katalogu programisty xcode-select /Library/Developer, który zawierał tylko folder CommandLineTools. W tym celu komunikat o błędzie narzeka, że ​​katalog nie jest taki sam jak Xcode.

Dwa sprawdzone rozwiązania:

  1. (Ponownie) zainstaluj Xcode.

  2. Skieruj xcode-select do katalogu Xcode Developer Directory, używając następującego polecenia:

    sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer
    

Bibliografia:

Jak naprawić błąd taki jak „xcode-select: error: narzędzie„ xcodebuild ”wymaga Xcode, ale aktywny katalog programisty * BROKEN LINK *

Błąd xcode-select active developer directory

carlodurso
źródło
Link 1 jest uszkodzony
anki
2

Ponownie zainstalowałem Xcode z App Store, co rozwiązało ten problem. Wydaje mi się, że moja poprzednia instalacja nie została zakończona

cynk
źródło
1

Istnieje również GUI do zmiany ścieżki narzędzi wiersza poleceń w Xcode> Preferencje> Lokalizacje:

Xcode> Preferencje> Lokalizacje

Właśnie miałem ten problem po uaktualnieniu do Xcode 10.3, zachowując starszą kopię 10.2.1 w podfolderze aplikacji. Kiedy otworzyłem ten panel Lokalizacje, wybór narzędzi wiersza poleceń był pusty, ale mogłem wybrać jedną z dwóch zainstalowanych wersji:

Lista rozwijana narzędzi wiersza poleceń

Zwykle wybieram opcję GUI, jeśli jest dostępna, zamiast kopiować sudopolecenia z SO.

apartament22
źródło
0

Jeśli używasz XCode2: sudo xcode-select --switch / Applications / Xcode \ 2.app/Contents/Developer

Zwróć uwagę na znak „\”, aby uniknąć spacji.

turibbio
źródło
0

Dzisiaj miałem ten problem, a problem polegał na tym, że korzystałem z ręcznej instalacji xcode i miałem plik o nazwie Xcode8.3.2.app zamiast Xcode.app. Zmiana nazwy aplikacji rozwiązała problem narzekania xcode-select. Wydaje się, że oznacza to, że zwykła nazwa aplikacji znajduje się na ścieżce wyszukiwania, ale warianty nie.

AnneTheAgile
źródło
-3

AFAIK, narzędzia wiersza poleceń w Mavericks są instalowane w /Applications/Xcode.app/Contents/Developer, co sugeruje, że Xcode jest wymagany. Prawdopodobnie nieudokumentowana funkcja.

moreaug44
źródło