Erro no diretório de desenvolvedor ativo xcode-select

681

Vi o seguinte erro ao executar um npm installque exigia node-gyp... mas poderia ser acionado por qualquer coisa que exigisse xcode-select.

xcode-select: error: a ferramenta 'xcodebuild' requer Xcode, mas o diretório ativo do desenvolvedor '/ Library / Developer / CommandLineTools' é uma instância das ferramentas de linha de comando

Qual é o problema?

tjmehta
fonte
5
Também funciona para o YOSEMITE
tjmehta
12
Obras para El Capitan também
tjmehta
6
Obras de Sierra também
tjmehta
5
Também funciona para High Sierra
tjmehta
6
Trabalha para Mojave também
Zohair

Respostas:

1289

Esse problema ocorre quando o xcode-selectdiretório do desenvolvedor estava apontando /Library/Developer/CommandLineTools, quando um Xcode regular completo era necessário (acontece quando o CommandLineTools é instalado após o Xcode)

Solução:

  1. Instale o Xcode (obtenha-o em https://appstore.com/mac/apple/xcode ) se você ainda não o tiver.
  2. Aceite os Termos e Condições.
  3. Verifique se o aplicativo Xcode está no /Applicationsdiretório (NOT /Users/{user}/Applications).
  4. Aponte xcode-selectpara o diretório de desenvolvedor do aplicativo Xcode usando o seguinte comando:
    sudo xcode-select -s /Applications/Xcode.app/Contents/Developer

Nota: verifique se o caminho do aplicativo Xcode está correto.

  • Xcode: /Applications/Xcode.app/Contents/Developer
  • Xcode-beta: /Applications/Xcode-beta.app/Contents/Developer
tjmehta
fonte
@qodeninja Em seguida, substitua /Applications/Xcode5-DP4.apppelo caminho correto, eu diria.
precisa saber é o seguinte
@MaxNanasy, quero dizer que é óbvio. Mas não, isso não funcionou. Eu tive que desinstalar e reinstalar o Xcode para que ele funcione novamente
qodeninja
9
Com o Xcode 6 Beta, isso funcionou. Obrigado! sudo xcode-select -switch /Applications/Xcode6-Beta.app/Contents/Developer/
jpincheira
1
Não precisei executar o passo 2. A instalação do Xcode foi suficiente. :)
Ryan Heathcote
11
No macOS High Sierra 10.13 , eu já tinha o Xcode 9.2 instalado e enfrentou o mesmo problema depois de instalar o carthage . Acabei de dar o passo 4 e é isso!
RAM237
162

Outra solução para quem não deseja instalar o Xcode:

  1. Instale as ferramentas de linha de comando (se você ainda não o tiver):

    xcode-select --install

  2. Mude o diretório ativo:

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

Isso funcionou para mim (git).

Indamix
fonte
23
Eu prefiro esta solução para instalar o Xcode, no entanto, parece que você não pode baixar xcode-selectda Apple mais: cl.ly/image/2T0u2f2D471a/content
6
No entanto, acho que já tenho as Ferramentas de Linha de Comando instaladas, portanto isso não corrigirá nada.
6
Então, é a única maneira de obter um utilizável xcodebuildpara instalar todo o Xcode? :-(
50
Esta resposta parece incorreta . O ponto principal é que o 'xcodebuild' requer o Xcode , ou seja, uma instalação completa do Xcode, nem o CommandLineTools. Testando aqui, a mudança para CommandLineTools não interrompe o erro, nem o faria.
Mikemaccana
21
Esta resposta não está mais correta. Desde maio de 2015, ao usar as Ferramentas de Linha de Comando para OSX 10.10 (Yosemite), o comando xcodebuild não funciona mais sem o xcode completo instalado.
HipsterZipster
151

Eu estava tendo um problema ao tentar instalar pacotes usando o npm. Eu recebi o erro: "sudo xcode-select -s /Applications//Xcode.app/Contents/Developer/"

Para consertar isso

  • Abri o Xcode.
  • Preferências
  • Localizações
  • Selecionou o Command Lin Tools: Xcode 6.1.1

Agora, ao instalar pacotes com o npm, não recebo mais erros.

jay.tech66
fonte
1
Corrigida a configuração da VM Robo.
Sensei
106

Xcode-> Preferências-> Locais-> ferramentas de linha de comando

captura de tela

Selecione a opção: Xcode 8.x

FranklinA
fonte
1
Clique no link e veja a imagem. A solução para esse problema não é complicada.
FranklinA
Eu instalei 8 versões do xcode que estão produzindo e emitindo, mas a anterior resolverá o meu problema. Você é um salva-vidas;)
ahsan 02/10
Essa foi a única coisa que funcionou para mim quando tentei instalar 2 versões do XCode. Tentando xcode-selectcontinuar dizendo "erro: diretório de desenvolvedor inválido"!
Mc01 # 24/18
Essa era a solução que eu precisava. Não sei por que essa opção de ferramentas de linha de comando não foi definida. Mas, uma vez definido, resolveu o meu problema. Obrigado.
Jdavis
50

Basta executar o sudo xcode-select -rque deve redefinir automaticamente o caminho.

 -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
fonte
pergunto o que acontecerá se eu desinstalar o xcode e seguir as etapas acima desde que instalei a CLI após o xcode. Isso bagunçaria meus projetos de aplicativos IOS existentes?
Gel
Isso funcionou para mim no osx 10.14.4 com o xcode 11.3.1
Rafael Khan
10

Caso você esteja usando o xcode beta:

sudo xcode-select -s /Applications/Xcode-Beta.app/Contents/Developer
Andrey Deineko
fonte
8

Eu tive que executar isso primeiro

sudo xcode-select --reset

então

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

e então funcionou.

Hamoonist
fonte
5
Para mim, o problema foi corrigido após a execução do primeiro comando. A execução do segundo comando quebrou as coisas novamente. Então, apenas o primeiro (no meu caso). Obrigado.
Nate
Em segundo lugar, apenas executando --reseto problema corrigido #
Peter Lamberg
7
  1. Faça o download do Xcode na App Store.

  2. Vá para Preferências do Xcode / Locais / CommandlineTools

    Você apenas precisa configurá-lo para a versão do Xcode. Ele aponta automaticamente para '/Application/Xcode.app'

Rahul Shenoy
fonte
3

Instale o Xcode da App Store. Após a instalação, execute o xcodebuild com privilégios de root, ou seja, sudo xcodebuilde aceite o idioma. Depois disso, npm install bcryptfuncionou como um encanto!

sandeepkohli
fonte
3

Sem o Xcode: crie um arquivo /usr/local/bin/xcodebuildcom conteúdo para enganar o XcodeSelect

  #!/bin/bash
  exit 0

chmod +x /usr/local/bin/xcodebuild

javamonk
fonte
Devo dizer que estou tendo problemas com o node-gyp por algum motivo em execução xcodebuildquando só tenho o CLT instalado. Prefiro não instalar o Xcode apenas para instalar algumas extensões nativas que não têm nada a ver com o desenvolvimento de Mac e iOS, por isso estou muito disposto a tentar essa técnica para basicamente calar o erro. Você sabe se há alguma repercussão em fazer isso? Só posso imaginar que o node-gyp está chamando xcodebuildpor um motivo e, ao fazer um exit 0, estamos quebrando a cadeia de ferramentas para uma determinada compilação, mas não tenho certeza, pois não sei por que ele estaria usando xcodebuildo primeiro lugar. Alguma ideia?
Alexrussell
1
Eu tentei isso, infelizmente não fez diferença. Eu realmente não quero instalar o XCode - este é apenas um documento de marketing da Apple para forçá-lo a instalá-lo.
Alex
2

Caso você esteja usando o Xcode beta, execute

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

ao invés de

sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer
M.Sobhy
fonte
2

Consegui resolver esse erro sem instalar o aplicativo Xcode completo. Você deve, no entanto, ter as ferramentas de linha de comando xcode instaladas.

A partir daqui :

  1. $ cd /usr/bin
  2. $ sudo mv xcodebuild xcodebuild.orig (Um backup apenas no caso)
  3. $ vim xcodebuild
  4. Cole a seguinte:
#!/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
fonte
Boa resposta. Também agradecemos que você faça referência à fonte original. :)
Monomeeth
1

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

Preste atenção ao "\" para escapar do espaço

turibbio
fonte
1

Eu tinha duas instâncias do Xcode instaladas xcode.app e xcode-beta.app Quando tentei criar uma compilação com o netbeans, ele me mostrou o erro "versão suportada do xcode e ferramentas de linha de comando não encontradas netbeans"

Eu segui os seguintes passos:

  1. "xcode-select --print-path" é igual a "/Applications/Xcode.app/Contents/Developer"
  2. "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform" existe
  3. "xcodebuild -version" começa com "Xcode"

depois de 1, descobri que ele está me apontando para xcode-beta.app

então aqui está a solução que funcionou como um encanto:

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

Shashank Saxena
fonte
1

Por contexto, hoje é 28 de janeiro de 2019 .

No meu Mac, fiz duas coisas para resolver esse problema:

  1. Execute o seguinte comando no seu terminal:
    sudo xcode-select --install

  2. Reinicie o seu Mac.

Até reiniciar o computador, o problema continuava ocorrendo no meu Android Studio. Após a reinicialização, estava funcionando bem. Observe também que eu não executei nenhum --switchcomando como os outros estão fazendo. Eu espero que isso ajude.

Steve
fonte
1

Eu estava tendo o mesmo problema na serra alta. executando o seguinte comando resolveu: npm explore npm -g - npm install node-gyp @ latest

Luja Shrestha
fonte
1
Isso funcionou para mim, exceto que eu simplesmente reinstalei comnpm -g install node-gyp@latest
ty.
1

Por favor, siga os passos abaixo :

  1. A versão mais recente do Xcode pode ser baixada em https://developer.apple.com/xcode/download/
  2. Ele será baixado no 'Downloads' menos que seja especificado o contrário. Verifique o caminho onde você baixou e extraiu o Xcode
  3. Agora, ao contrário de outros aplicativos baixados, na extração, o Xcode não oferece a opção de movê-lo para Aplicativos
  4. Observe o XCODE-ACTUAL-LOCATION ou mova-o para os Aplicativos
  5. Observe se você baixou o Xcode ou o Xcode-beta

Com base em 4 e 5, execute um dos comandos (não execute todos eles sem ler a descrição acima):

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
fonte
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"

porque meu nome do Xcode no aplicativo é "Xcode 10",

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

trabalho.

Languoguang
fonte
0

No meu caso,

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

não funcionou porque meu Xcode tinha algum nome especial. por exemplo) Xcode_11.2.0_beta_2_stackoverflow.app

cd /applications
ls

Encontrei meu nome do Xcode e substituí-o por

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

Funcionou para mim.

Jaeseok Jay An
fonte
0

Nenhuma das opções acima funcionou para mim. Inicialmente, instalei as Ferramentas de Linha de Comando separadamente e todo o Xcode. O que funcionou para mim foi desinstalar as Ferramentas de Linha de Comando, como mostrado aqui . Então, ao tentar executarxcode-select novamente, fui solicitado a reinstalá-los.

* A propósito, a razão pela qual encontrei esse encadeamento foi porque havia instalado algumas bibliotecas (principalmente gcc) macports, presumivelmente usando as antigas Ferramentas de Linha de Comando e, em seguida, instalei o Xcode completo no meio do desenvolvimento. De qualquer forma, no meu caso, tive que reinstalar macportsdepois de remover as Ferramentas de Linha de Comando independentes, reinstalá-las, reinstalar gcce, em seguida, minha compilação funcionou.

legel
fonte
0

Existem apenas duas etapas necessárias e o XCode.app completo não é necessário:

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

Nesse momento, a caixa de diálogo "Instalando o Softwre" é exibida:

insira a descrição da imagem aqui

É isso aí!

Mark Richman
fonte
0

Reinstalação simples xcode-select

sudo rm -rf /Library/Developer/CommandLineTools
xcode-select --install
Semir Hodzic
fonte