xcode-select aktywny katalog programisty błąd

681

Widziałem następujący błąd podczas uruchamiania, npm installktóry wymagał node-gyp... ale może zostać wywołany przez wszystko, co wymaga xcode-select.

xcode-select: error: narzędzie „xcodebuild” wymaga Xcode, ale aktywny katalog programisty „/ Library / Developer / CommandLineTools” jest instancją narzędzia wiersza poleceń

Jaki jest problem?

tjmehta
źródło
5
Działa również dla YOSEMITE
tjmehta
12
Działa również dla El Capitan
tjmehta
6
Działa również dla Sierra
tjmehta
5
Działa również w High Sierra
tjmehta
6
Działa również dla Mojave
Zohair,

Odpowiedzi:

1289

Ten problem występuje, gdy xcode-selectwskazywany jest katalog programisty /Library/Developer/CommandLineTools, gdy wymagany jest pełny regularny kod Xcode (występuje, gdy CommandLineTools są instalowane po Xcode)

Rozwiązanie:

  1. Zainstaluj Xcode (pobierz go z https://appstore.com/mac/apple/xcode ), jeśli jeszcze go nie masz.
  2. Zaakceptuj Warunki.
  3. Upewnij się, że aplikacja Xcode znajduje się w /Applicationskatalogu (NIE /Users/{user}/Applications).
  4. Wskaż xcode-selectkatalog deweloperów aplikacji Xcode za pomocą następującego polecenia:
    sudo xcode-select -s /Applications/Xcode.app/Contents/Developer

Uwaga: upewnij się, że ścieżka do aplikacji Xcode jest poprawna.

  • Xcode: /Applications/Xcode.app/Contents/Developer
  • Xcode-beta: /Applications/Xcode-beta.app/Contents/Developer
tjmehta
źródło
@qodeninja W takim razie zastąpiłbym /Applications/Xcode5-DP4.appwłaściwą ścieżką.
Max Nanasy,
@ MaxNanasy mam na myśli to oczywiste. Ale nie, to nie działało. Musiałem odinstalować i ponownie zainstalować xcode, aby znów działał
qodeninja
9
Z Xcode 6 Beta to działało. Dzięki! sudo xcode-select -switch /Applications/Xcode6-Beta.app/Contents/Developer/
jpincheira
1
Nie musiałem robić kroku 2. Instalacja Xcode była wystarczająca. :)
Ryan Heathcote
11
macOS High Sierra 10.13 , miałem już zainstalowany Xcode 9.2 i napotkałem ten sam problem po zainstalowaniu kartaginy . Właśnie zrobił krok 4 i to wszystko!
RAM237
162

Inne rozwiązanie dla tych, którzy nie chcą instalować Xcode:

  1. Zainstaluj narzędzia wiersza polecenia (jeśli jeszcze tego nie zrobiłeś):

    xcode-select --install

  2. Zmień katalog aktywny:

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

To zadziałało dla mnie (git).

Indamix
źródło
23
Wolę to rozwiązanie niż instalację Xcode, jednak wygląda na to, że nie możesz już pobierać xcode-selectz Apple: cl.ly/image/2T0u2f2D471a/content
6
Wydaje mi się jednak, że mam już zainstalowane narzędzia wiersza polecenia, więc to nic nie naprawi.
6
Czy to jedyny sposób, aby uzyskać użyteczną xcodebuildinstalację całego Xcode? :-(
50
Ta odpowiedź wydaje się nieprawidłowa . Chodzi o to, że „xcodebuild” wymaga Xcode , tzn. Pełnej instalacji Xcode ani CommandLineTools. Testowanie go tutaj, przełączenie na CommandLineTools nie zatrzymuje błędu, podobnie jak nie.
mikemaccana
21
Ta odpowiedź nie jest już poprawna. Od maja 2015 r. Podczas korzystania z narzędzi wiersza polecenia dla OSX 10.10 (Yosemite) polecenie xcodebuild nie działa już bez pełnego kodu xcode.
HipsterZipster
151

Wystąpił problem podczas próby zainstalowania pakietów przy użyciu npm. Wystąpił błąd: „sudo xcode-select -s /Applications//Xcode.app/Contents/Developer/”

Aby to naprawić

  • Otworzyłem Xcode.
  • Preferencje
  • Lokalizacje
  • Wybrane narzędzia Linii poleceń: Xcode 6.1.1

Teraz podczas instalowania pakietów z npm nie otrzymuję już błędów.

jay.tech66
źródło
1
Naprawiono konfigurację Robo VM.
Sensei,
106

Xcode-> Preferencje-> Lokalizacje-> narzędzia wiersza poleceń

zrzut ekranu

Wybierz opcję: Xcode 8.x

Franklin A.
źródło
1
Kliknij link i spójrz na obraz. Rozwiązanie tego problemu nie jest skomplikowane.
FranklinA
Zainstalowałem 8 wersji xcode tworzących i wysyłających, ale powyższa rozwiąże mój problem. Jesteś
ratownikiem
To była jedyna rzecz, która działała dla mnie, gdy próbowałem zainstalować 2 wersje XCode. Próbowałem xcode-selectciągle mówić „błąd: nieprawidłowy katalog programisty”!
mc01,
To było rozwiązanie, którego potrzebowałem. Nie jestem pewien, dlaczego ta opcja wiersza poleceń nie została ustawiona. Ale kiedy go ustawiłem, rozwiązało to mój problem. Dzięki.
jdavis
50

Po prostu uruchom, sudo xcode-select -rco powinno automatycznie zresetować ścieżkę.

 -r, --reset
              Unsets any user-specified developer directory, so that the developer directory will be found via the default search mechanism. This command must  be
              run with superuser permissions (see sudo(8)), and will affect all users on the system.
chunkyguy
źródło
zastanawiam się, co się stanie, jeśli odinstaluję xcode i wykonam powyższe kroki, ponieważ zainstalowałem CLI po xcode. Czy to zepsułoby moje istniejące projekty aplikacji na iOS?
Gel
To zadziałało dla mnie na OSX 10.14.4 z Xcode 11.3.1
Rafael Khan
10

Na wypadek, gdybyś używał xcode beta:

sudo xcode-select -s /Applications/Xcode-Beta.app/Contents/Developer
Andrey Deineko
źródło
8

Najpierw musiałem to uruchomić

sudo xcode-select --reset

następnie

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

i wtedy zadziałało.

Hamoonist
źródło
5
Dla mnie problem został rozwiązany po uruchomieniu pierwszego polecenia. Uruchomienie drugiego polecenia ponownie zepsuło wszystko. Tak więc tylko pierwszy (w moim przypadku). Dziękuję Ci.
Nate
Po drugie, po prostu --resetnaprawiłem problem
Peter Lamberg,
7
  1. Pobierz Xcode z App Store.

  2. Przejdź do preferencji Xcode / Lokalizacji / CommandlineTools

    Musisz tylko ustawić go na wersję Xcode. Automatycznie wskazuje „/Application/Xcode.app”

Rahul Shenoy
źródło
3

Zainstaluj Xcode z App Store. Po zainstalowaniu uruchom xcodebuild z uprawnieniami administratora, tj. sudo xcodebuildI zaakceptuj język. Po tym npm install bcryptdziałało jak urok!

sandeepkohli
źródło
3

Bez Xcode: utwórz plik /usr/local/bin/xcodebuildz zawartością, aby oszukać XcodeSelect

  #!/bin/bash
  exit 0

chmod +x /usr/local/bin/xcodebuild

javamonk
źródło
Muszę powiedzieć, że mam problemy z węzłem gyp z jakiegoś powodu działającego, xcodebuildgdy mam tylko zainstalowany CLT. Wolę nie instalować Xcode tylko po to, aby zainstalować jakieś rozszerzenia natywne, które nie mają nic wspólnego z programowaniem na Maca i iOS, więc jestem bardzo gotów spróbować tej techniki, aby po prostu zamknąć błąd. Czy wiesz, czy są jakieś reperkusje? Mogę sobie tylko wyobrazić, że węzeł gyp dzwoni xcodebuildz jakiegoś powodu, i robiąc to exit 0, łamiemy łańcuch narzędzi dla danej kompilacji, ale nie jestem pewien, ponieważ nie wiem, dlaczego miałby być używany xcodebuildw pierwsze miejsce. Jakieś pomysły?
alexrussell
1
Próbowałem tego, niestety nie miało to znaczenia. Naprawdę nie chcę instalować XCode - to tylko niektóre BS marketingu Apple, aby zmusić cię do zainstalowania go.
Alex
2

Jeśli używasz Xcode w wersji beta, uruchom

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

zamiast

sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer
M.Sobhy
źródło
2

Byłem w stanie rozwiązać ten błąd bez instalowania pełnej aplikacji Xcode. Musisz jednak mieć zainstalowane narzędzia wiersza polecenia xcode.

Od tutaj :

  1. $ cd /usr/bin
  2. $ sudo mv xcodebuild xcodebuild.orig (Kopia zapasowa na wszelki wypadek)
  3. $ vim xcodebuild
  4. Wklej następujące:
#!/bin/bash
if [[ $1 == '-version' ]]; then
  echo "Xcode 10.2.1"
  echo "Build version 10E1001"
else
  /usr/bin/xcodebuild.bak $@
fi
  1. $ sudo chmod +x xcodebuild
JBis
źródło
Niezła odpowiedź. Dziękujemy również za nawiązanie do oryginalnego źródła. :)
Monomeeth
1

XCode2: sudo xcode-select -s / Applications / Xcode \ 2.app/Contents/Developer

Zwróć uwagę na „\”, aby uciec z przestrzeni

turibbio
źródło
1

Miałem dwie instancje Xcode: xcode.app i xcode-beta.app Kiedy próbowałem stworzyć kompilację z netbeans, pokazał mi błąd „obsługiwana wersja xcode i narzędzia wiersza poleceń nie znaleziono netbeans”

Wykonałem następujące kroki:

  1. „xcode-select --print-path” jest równy „/Applications/Xcode.app/Contents/Developer”
  2. „/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform” istnieje
  3. „xcodebuild -version” zaczyna się od „Xcode”

po 1 odkryłem, że to wskazuje mnie na xcode-beta.app

oto rozwiązanie, które działało jak urok:

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

Shashank Saxena
źródło
1

Dla kontekstu, dzisiaj jest 28 stycznia 2019 r .

Na komputerze Mac zrobiłem dwie rzeczy, aby rozwiązać ten problem:

  1. Uruchom następujące polecenie w swoim terminalu:
    sudo xcode-select --install

  2. Uruchom ponownie komputer Mac.

Do czasu ponownego uruchomienia komputera problem nadal występował w moim Android Studio. Po ponownym uruchomieniu działało dobrze. Zauważ też, że nie wykonałem żadnych --switchpoleceń tak, jak robią to inni. Mam nadzieję, że to pomoże.

Steve
źródło
1

Miałem ten sam problem w wysokiej sierrze. uruchomienie następującego polecenia rozwiązało to npm explore npm -g - npm install node-gyp @ latest

Luja Shrestha
źródło
1
To działało dla mnie, tyle że po prostu przeinstalowałem znpm -g install node-gyp@latest
ty.
1

Wykonaj następujące czynności:

  1. Najnowszą wersję Xcode można pobrać ze strony https://developer.apple.com/xcode/download/
  2. Zostanie pobrany w „Pobranych”, chyba że określono inaczej. Sprawdź ścieżkę, do której pobrałeś i rozpakowałeś Xcode
  3. Teraz, w przeciwieństwie do innych pobranych aplikacji, po rozpakowaniu Xcode nie daje opcji przeniesienia go do aplikacji
  4. Zanotuj XCODE-ACTUAL-LOCATION lub przenieś go do aplikacji
  5. Uwaga, jeśli pobrałeś Xcode lub Xcode-beta

Na podstawie 4 i 5 wykonaj jedno z poleceń (Nie wykonuj wszystkich bez przeczytania powyższego opisu):

sudo xcode-select -s /Applications/Xcode.app/Contents/Developer
sudo xcode-select -s /Applications/Xcode-beta.app/Contents/Developer
sudo xcode-select -s /[XCODE-ACTUAL-LOCATION]/Xcode.app/Contents/Developer
sudo xcode-select -s /[XCODE-ACTUAL-LOCATION]/Xcode-beta.app/Contents/Developer
Nikhil Maheshwari
źródło
0
sudo xcode-select -s /Applications/Xcode 10.app/Contents/Developer

languoguangs-iMac:/ languoguang$ sudo xcode-select -s /Applications/Xcode 10.app/Contents/Developer
xcode-select: error: invalid argument '10.app/Contents/Developer'
Usage: xcode-select [options]

Print or change the path to the active developer directory. This directory
controls which tools are used for the Xcode command line tools (for example, 
xcodebuild) as well as the BSD development commands (such as cc and make).

Options:
  -h, --help                  print this help message and exit
  -p, --print-path            print the path of the active developer directory
  -s <path>, --switch <path>  set the path for the active developer directory
  --install                   open a dialog for installation of the command line developer tools
  -v, --version               print the xcode-select version
  -r, --reset                 reset to the default command line tools path
languoguangs-iMac:/ languoguang$ sudo xcode-select -s "/Applications/Xcode 10.app/Contents/Developer"

ponieważ moja nazwa Xcode w aplikacji to „Xcode 10”,

sudo xcode-select -s "/Applications/Xcode 10.app/Contents/Developer"

Pracuje.

Langanguang
źródło
0

W moim przypadku,

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

nie działało, ponieważ mój Xcode miał jakąś specjalną nazwę. np.) Xcode_11.2.0_beta_2_stackoverflow.app

cd /applications
ls

Potem znalazłem swoją nazwę Xcode, a następnie zastąpiłem ją

sudo xcode-select -s /Applications/{myXcodeName}.app/Contents/Developer 

To zadziałało dla mnie.

Jaeseok Jay An
źródło
0

Żadne z powyższych nie działało dla mnie. Pierwotnie zainstalowałem Narzędzia wiersza poleceń osobno, a następnie wszystkie Xcode. Dla mnie zadziałało odinstalowanie Narzędzi wiersza poleceń, jak pokazano tutaj . Następnie, gdy próbuję uruchomić xcode-selectponownie, zostałem poproszony o ich ponowną instalację.

* Nawiasem mówiąc, głównym powodem, dla którego znalazłem ten wątek, było to, że zainstalowałem niektóre biblioteki (szczególnie gcc) macports, prawdopodobnie używając starych narzędzi wiersza poleceń, a następnie zainstalowałem pełną wersję Xcode w trakcie tworzenia. Tak czy inaczej, w moim przypadku musiałem ponownie zainstalować macportspo usunięciu samodzielnych narzędzi wiersza polecenia, ponownej instalacji, ponownej instalacji gcc, a następnie moja kompilacja zadziałała.

legel
źródło
0

Wymagane są tylko dwa kroki, a pełna aplikacja XCode.app wcale nie jest wymagana:

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

W tym momencie pojawia się okno dialogowe „Instalowanie oprogramowania”:

wprowadź opis zdjęcia tutaj

Otóż ​​to!

Mark Richman
źródło
0

Prosta ponowna instalacja xcode-select

sudo rm -rf /Library/Developer/CommandLineTools
xcode-select --install
Semir Hodzic
źródło