Impossibile utilizzare xcodebuild su Mavericks con gli strumenti della riga di comando installati


92

Ho installato gli strumenti della riga di comando:

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

Tuttavia, quando qualcosa tenta di utilizzare xcodebuild, ottengo il seguente errore:

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

Su Mountain Lion era possibile usarlo senza installare tutto Xcode, ma solo gli strumenti della riga di comando. È possibile farlo su Mavericks? Come posso farlo funzionare?

NB Si tratta di un'installazione pulita di Mavericks.

Aggiornamento: solo per mostrare, ho installato gli strumenti della riga di comando:

$ 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

1
Incontrare lo stesso problema qui provando a costruire alcuni moduli del nodo. Si spera che sia disponibile una soluzione rapida.
rossipedia

Ho creato un problema in node-gypquanto questa è la fonte del mio problema: github.com/TooTallNate/node-gyp/issues/341

Forse devi installare Xcode. Ecco come appare la mia versione gcc Configurata con: --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 versione 5.0 (clang-500.2.79) (basato su LLVM 3.3svn) Target: x86_64-apple-darwin13. 0.0 Modello filettatura: posix
Martin Christmann

1
Forse hai ragione, solo strano che non fosse necessario su Mountain Lion con gli strumenti della riga di comando installati.

Presumo tu l'abbia fatto xcode-select --install. Con Xcode installato xcode-select --print-pathstampe/Applications/Xcode.app/Contents/Developer
mb21

Risposte:


63

So che questa è una risposta tardiva, ma nel mio caso questo comando ha risolto il problema:

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

14
nota che la domanda riguarda la creazione con l'installazione degli strumenti da riga di comando. Passando a Xcode.app, stai costruendo tramite Xcode (quale domanda sta cercando di evitare di installare).
bryanmac

23

Sembra che OSX sia cambiato xcodebuildper richiedere XCodel'installazione, dove prima funzionava correttamente con solo OSX Command Line Tools installati.

Vecchia risposta semi-correlata

Molte persone si sono imbattute in questo con Node. Lo strumento di compilazione di Node,, gyputilizza xcodebuildper prepararsi alla compilazione dei pacchetti di nodi. Mavericks ha modificato il comportamento di in xcodebuildmodo che non funzioni più correttamente con gyp. Questo è stato risolto al momento. Vedi il problema node-gyp

Una volta che le modifiche sono state distribuite a NPM, sarai in grado di installare il nuovo node-gyppacchetto e compilare correttamente. Sarà inoltre necessario aggiornare la versione di NPM una volta incorporate le modifiche in NPM.


non ho idea del motivo per cui questo sia collegato a node, sto cercando di costruire qualcos'altro con Xcode
zinking

esattamente, ancora xcodebuild sta sparando un errore quando lo chiami dalla riga di comando ... In realtà ho scaricato gli ultimi strumenti della riga di comando dal sito web per sviluppatori
alexserver

16

Per prima cosa vai al Finder, quindi seleziona Applicazioni dal pannello di sinistra, quindi cerca Xcode e controlla se il suo nome è Xcode o Xcode-Beta

Se il nome è Xcode-Beta, inserisci questo comando nel Terminale:

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

Se il nome è Xcode, inserisci questo comando:

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

Spero che questa risposta possa aiutare gli utenti con la versione Beta di Xcode

Grazie


9

Questo problema era dovuto al puntamento della directory dello sviluppatore xcode-select /Library/Developer, che conteneva solo la cartella CommandLineTools. A tal fine, il messaggio di errore si lamenta del fatto che la directory non è la stessa di Xcode.

Due soluzioni testate:

  1. (Ri) installa Xcode.

  2. Punta xcode-select nella directory degli sviluppatori Xcode utilizzando il comando seguente:

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

Riferimenti:

Come correggere errori come "xcode-select: errore: lo strumento 'xcodebuild' richiede Xcode, ma la directory dello sviluppatore attiva * BROKEN LINK *

xcode-select errore della directory dello sviluppatore attivo


Il collegamento 1 è interrotto
anki

2

Ho reinstallato Xcode da App Store che ha risolto questo problema. Immagino che la mia installazione precedente non sia stata completata


1

C'è anche una GUI per modificare il percorso degli strumenti della riga di comando in Xcode> Preferenze> Posizioni:

Xcode> Preferenze> Posizioni

Ho appena avuto questo problema dopo l'aggiornamento a Xcode 10.3 mantenendo una copia precedente di 10.2.1 in una sottocartella in Applicazioni. Quando ho aperto questo pannello Posizioni la selezione per Strumenti della riga di comando era vuota, ma ho potuto scegliere tra le due versioni installate:

Menu a discesa degli strumenti della riga di comando

Tendo ad andare con l'opzione GUI se è disponibile invece di copiare i sudocomandi da SO.


0

Se usi XCode2: sudo xcode-select --switch / Applications / Xcode \ 2.app/Contents/Developer

Presta attenzione alla "\" per sfuggire allo spazio.


0

Oggi ho avuto questo problema e il problema era che stavo usando un'installazione manuale di xcode e avevo il file denominato Xcode8.3.2.app invece di Xcode.app. Rinominare l'app ha risolto il problema del reclamo di xcode-select. Questo sembra indicare che il nome dell'app regolare si trova nel percorso di ricerca, ma le varianti no.


-3

AFAIK, gli strumenti della riga di comando in Mavericks sono installati in /Applications/Xcode.app/Contents/Developer, il che tende a implicare che Xcode è richiesto. Probabilmente caratteristica non documentata.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.