2009-05-31 12 views
23

Sembra che l'impostazione dell'ambiente $ PATH di xcode sia diversa dal mio ambiente shell utente.

Da dove viene Xcode ottenere l'impostazione $ PATH e qual è il modo migliore per aggiungere al percorso di ricerca?

risposta

6

XCode ottiene le sue variabili di ambiente allo stesso modo degli altri processi di OS X, da ~/.MacOSX/environment.plist.

Controllare developer.apple.com/qa/qa2001/qa1067.html per dettagli su come impostare le cose.

+2

Hmmm ... non ho un file del genere. Esiste una versione globale di questo che si applica a tutti gli utenti? – lajos

+0

Questo file è ottimo per alcune cose, ma non sembra funzionare per la variabile PATH. –

16

se si sta scrivendo una shell script Run costruire fase, solo si può fare:

PATH=${PATH}:/opt/local/bin 

o qualsiasi altra cosa all'interno del contenuto dello script.

+0

grazie, questo è quello che sto facendo attualmente, ma spero di trovare un modo "globale" che si applichi all'intero processo di compilazione – lajos

+1

Che non funziona così bene per es. script di rubini. Soprattutto quando hai bisogno di rbenv nel percorso. – tcurdt

+0

@tcurdt Questo ha funzionato per me: 'PATH = $ {PATH}:/usr/local/var/rbenv/shims' –

2

Se si sta parlando specificamente del executable search path environment variable named PATH, poi ci sono un paio di posti che si è impostato:

  • In your shell settings se si tratta di uno strumento a riga di comando. A seconda del tipo di shell, questo potrebbe essere ~/.profile, ~/.bash_profile, ecc.
  • Nel file environment.plist menzionato in precedenza.
  • Se si è in un debugger, è whatever gdb uses. Credo che gdb leggerà i comandi da ~/.gdbinit se esiste.
  • XCode consente di impostare le variabili di ambiente all'interno di Info page for executables.
+0

Questo non è d'aiuto se devi passare i percorsi di ricerca a uno script che sta cercando di trovare gli eseguibili in luoghi come/usr/local/bin. Questa è una carenza nel supporto di Xcode per obiettivi di build esterni (Xcode 4.2 al momento della stesura di questo documento). –

1

Xcode non considera l'ambiente del percorso shell.

Dai un'occhiata a NSProcessInfo; e fare un NSLog per vedere cosa succede.

Se si desidera applicare un percorso a tutti i programmi grafici, è necessario impostare ~/.MacOSX/environment.plist. come descritto.

Il metodo consigliato per impostare le variabili di ambiente sono in/etc/paths e etc/paths.d anche se non vengono rilevati da Xcode.

Ho chiesto informazioni su questo here.

3

In Xcode 5 è possibile aggiungere il PATH come variabile a un target o alle impostazioni del progetto.

  1. aggiungere una variabile personalizzata con il segno + nella parte superiore della pagina
  2. Modificare il nome della variabile di essere PATH e aggiungere il valore preferito (ad esempio /usr/local/bin per una installazione predefinita di homebrew.

Target Build Settings

+3

Ho appena provato questa soluzione con Xcode 6 e sembra che l'IDE sovrascriva in silenzio la variabile PATH con i valori nella cartella Xcode.app. Quindi questo non funziona più. C'è qualche soluzione alternativa o un modo per forzare Xcode ad usare il set PATH qui? – dada

+1

Xcode 6 aggiunge il percorso dei propri strumenti prima del tuo. Quindi, ad esempio, se si dice che si desidera che PATH sia/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin', Xcode lo imposterà effettivamente in/Applicazioni/Xcode. app/Contents/Developer/usr/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin'. Questo è sfortunato se vuoi che il tuo PATH abbia la precedenza su Xcode, ma in realtà è una buona soluzione se vuoi semplicemente aggiungere "/ usr/local/bin" o qualche altra directory al PATH. –

-2

prova ad aprire il progetto Xcode dal terminale, questo ha funzionato per me: open some.xcodeproj

Invece di aprire xcode e quindi caricare il progetto o fare doppio clic su di esso.

lo so ... stupido

+0

non funziona. Immagino che l'apertura del trigger aperto in background – gre

0

La soluzione più semplice è quella di aggiungere la variabile PATH in Xcode.

enter image description here

+0

Se qualcuno si chiedesse dove questo si trova, è possibile fare clic su "Modifica schema". : D –

Problemi correlati