Impostazione permanente della variabile d'ambiente PATH in OSX


143

Ho letto diverse risposte su come impostare le variabili ambientali su OSX in modo permanente.

Innanzitutto, ho provato questo, come impostare permanentemente $ PATH su Linux / Unix? ma avevo un messaggio di errore che diceva no such file and directory, quindi ho pensato di provare ~/.bash_profileinvece di ~/.profilenon funzionare.

In secondo luogo, ho trovato questa soluzione Come impostare $ PATH come utilizzato dalle applicazioni in os x , che consiglia di apportare modifiche

~ / .MacOSX / environment.plist

ma di nuovo ho avuto un no such file and directoryerrore.

Ho bisogno di un modo per impostare queste variabili in modo tale da non doverle impostare più volte ogni volta che apro una nuova sessione di terminale.


potresti semplicemente creare ~ / .profile la maggior parte dei sistemi * nix riconoscono il file e lo usano se esiste. potresti aver bisogno di un riavvio però
trve.fa7ad

~ / .MacOSX / environment.plist è obsoleto.
Pierre ALBARÈDE,

Risposte:


258

Devi aggiungerlo a /etc/paths.

Riferimento (che funziona per me): qui


6
Questa è l'unica soluzione che funziona su El Capitan. Meglio che modificare .bash_profilee .profile.
IgorGanapolsky,

1
Ha valutato la risposta per il riferimento aggiunto che spiega come rimuovere anche elementi dal percorso (nei commenti).
Amudhan,

Questo ha funzionato in EL Capitan. Chiudi tutti i terminali e apri un nuovo terminale per controllare echo $ PATH.
Prem Ananth C

La risposta ha 5 anni ma è ancora la soluzione più semplice e più semplice. Grazie per la risposta + il riferimento
Rachit Magon,

Non dimenticare di "riavviare" il terminale.
Neeraj Singh,

27

Ho scoperto che ci sono alcuni file che possono influenzare la $PATHvariabile in macOS (funziona per me, 10.11 El Capitan), elencati di seguito:

  1. Come ha detto la risposta più votata vi /etc/paths, che è raccomandato dal mio punto di vista.

  2. Inoltre, non dimenticare la /etc/paths.ddirectory, che contiene file che possono influire sulla $PATHvariabile, impostare il percorso gite mono-commandnel mio caso. È possibile ls -l /etc/paths.delencare gli elementi e rm /etc/paths.d/path_you_dislikerimuoverli.

  3. Se stai usando un ambiente "bash" (il default Terminal.app, per esempio), dovresti dare un'occhiata ~/.bash_profileo ~/.bashrc. Potrebbe non esserci ancora quel file, ma questi due file hanno effetti sul file $PATH.

  4. Se stai usando un ambiente "zsh" ( Oh-My-Zsh , per esempio), dovresti dare un'occhiata ~./zshrcinvece di ~/.bash*cosa.

E non dimenticare di riavviare tutte le finestre del terminale, quindiecho $PATH . La $PATHstringa sarà PATH_SET_IN_3&4:PATH_SET_IN_1:PATH_SET_IN_2.

Si è notato che i primi due modi ( /etc/pathse /etc/path.d) si trovano nella /directory che interesserà tutti gli account del computer mentre gli ultimi due modi ( ~/.bash*o ~/.zsh*) si trovano nella ~/directory (aka, /Users/yourusername/) che influenzeranno solo le impostazioni dell'account.

Ulteriori informazioni: Mac OS X: imposta / modifica variabile $ PATH - nixCraft


2
Mi piace molto modificare .bash_profile in alcuni casi, perché se avessi due account utente sul tuo computer, potresti aggiungere degli script solo per uno di essi, ad esempio ~ / dev / scripts
PeteW,

quello che non mi rendevo conto era che stavo usando zsh invece di bash. Grazie!
Leonessa

11

Puoi anche aggiungere questo

if [ -f ~/.bashrc ]; then
    . ~/.bashrc
fi

a ~/.bash_profile, quindi crea ~/.bashrcdove puoi semplicemente aggiungere più percorsi a PERCORSO. Un esempio con.

export PATH=$PATH:.

Grazie. Ho usato la soluzione precedente, ma se applico questo metodo, significa che posso anche impostare le variabili DYLD_LIBRARY_PATH come permanenti?
patti_jane,

Sì, dovresti essere in grado di farlo. Se vuoi vedere le modifiche, chiudi il terminale e . ~/.bashrc
riaprilo

Aggiungo il codice sopra a . ~/.bash_profile, quindi riapro il terminale e digito . ~/.bashrc, ma non dice tale file o directory?
patti_jane,

Devi crearlo. Le righe sopra ti dicono .bash_profiledi caricare .bashrcse esiste. Quindi, nello spazio vuoto .bashrc, puoi aggiungere tutto quello che vuoi.
omoman

Molte grazie! So che sto chiedendo troppo, ma conosci un link in cui è indicato correttamente come creare .bashrc? Non sono riuscito a trovarne uno buono.
patti_jane,

8

Puoi aprire uno dei seguenti file:

/etc/profile
~/.bash_profile
~/.bash_login   (if .bash_profile does not exist)
~/.profile      (if .bash_login does not exist)

E aggiungi:

export PATH="$PATH:your/new/path/here"

8

Per aggiungere un nuovo percorso alla variabile di ambiente PATH in MacOS, basta creare un nuovo file nella /etc/paths.ddirectory e aggiungere il percorso di scrittura da impostare nel file. Riavvia il terminale. È possibile verificare con echo $PATHal prompt per confermare se il percorso è stato aggiunto alla variabile di ambiente.

Ad esempio: per aggiungere un nuovo percorso /usr/local/sbinalla PATHvariabile:

cd /etc/paths.d
sudo vi newfile

Aggiungi il percorso a newfilee salvalo.

Riavvia il terminale e digita echo $PATHper confermare


Non sono sicuro del motivo per cui questa risposta viene sottoposta a downgrade. Sembra un modo ragionevole e ragionevole per organizzare le variabili del percorso. Ho usato percorsi.d per creare singoli file per ogni variabile di percorso non standard.
p_q,

1

ho provato il primo metodo e sono passato attraverso la pagina di riferimento, impostazione del percorso ben eseguita, ma non ha tracciato il percorso impostato quando echo $ PATH


1
Hai chiuso il terminale e riavviato o hai chiamato sourceper caricare il nuovo ambiente?
Dom

yaa..started terminal..ma la variabile PATH di nuovo non esiste
IgnitedMind

Che cosa sei shell? Verificare con ps -p $$. Se non è bash, i file di avvio hanno un nome diverso.
Pierre ALBARÈDE,

0

Per impostare il percorso in Mac è possibile seguire due metodi.

  1. Creare un file per il nome della variabile e incollare il percorso lì in /etc/paths.d e generare il file su profile_bashrc.
  2. Esporta variabile percorso in ~/.profile_bashrcas

    export VARIABLE_NAME = $ (PATH_VALUE)

E fonte il percorso. È semplice e stabile.

Puoi impostare qualsiasi anche path variableda Mac terminalo in linux.

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.