È corretto. /usr/local/bin
o equivalente deve essere aggiunto al tuo PATH
, perché è lì che brew
installa il software. Inoltre, dovrà essere in anticipo rispetto alla directory in cui si trova Git di default.
Prima di effettuare una mossa per correggere il PERCORSO, procedere nel Terminale:
which git
e vedere in quale directory si trova attualmente Git. Questa è la directory che devi battere. Digita anche questo:
echo $SHELL
Spero che tu veda '/ bin / bash', dato che è quello che suppongo tu stia usando. In caso contrario, faccelo sapere.
La cosa più semplice da provare è semplicemente mettere /usr/local/bin
in primo piano il PERCORSO. Questo è tradizionalmente fatto in un file di configurazione per la shell che viene eseguita quando si avvia un Terminale. Per la shell bash, è ~/.bash_profile
(dov'è ~
il soprannome per la tua directory home). Vai avanti e crea un file di testo lì se non lo hai già, e aggiungi questa riga:
export PATH=/usr/local/bin:$PATH
(Nota: utilizzare qui un editor di testo corretto, come TextWrangler o Xcode o l'editor del programmatore preferito, anziché TextEdit a cui piace salvare i file RTF.)
':' Separa le directory nella variabile PATH e si $PATH
espande alla definizione corrente (pre-assegnazione) di questa variabile di ambiente. In breve, questo comando antepone /usr/local/bin
al PERCORSO, quindi esporta il PERCORSO aggiornato nel proprio ambiente, in modo che altri programmi eseguiti dalla shell possano vedere e utilizzare il PERCORSO aggiornato. (Nota: va bene anche /usr/local/bin
dopo il PERCORSO. Puoi rimuovere la seconda copia e impostare il PERCORSO sul valore completamente documentato, se decidi di voler tenere il /usr/local/bin
passo.)
Salvare quel file, uscire da Terminal e riavviarlo. Crea una nuova finestra Terminale e digita:
echo $PATH
Ora dovresti vedere /usr/local/bin
sul davanti. Esegui git --version
e assicurati di vedere la versione che ti aspetti.
Fatto ciò, cosa potrebbe andare storto? Bene, in alcuni casi potresti aver installato qualcosa /usr/local/bin
che non è così stabile come le tue applicazioni di sistema standard, e quindi potresti non voler che tutto in quella directory abbia la precedenza sul PATH standard. Se questo accade a te, una soluzione comune è quella di creare una nuova directory che abbia solo riferimenti ai programmi specifici che vuoi trovare prima dei programmi standard di sistema nella ricerca:
- creare una nuova directory, ad es
~/bin
- metti questa directory nella parte anteriore di PATH invece di
/usr/local/bin
- nel Terminale, eseguire
ln -s /usr/local/bin/git ~/bin/git
per creare un collegamento simbolico chiamato git
nella nuova directory, che punta a git
quello brew
installato. (I collegamenti simbolici sono simili alle "scorciatoie" nel mondo di Windows, se hai familiarità con quelli.)
- chiudere e riavviare Terminale e verificare che durante l'esecuzione sia selezionato il programma corretto desiderato
git
.
Dovrei anche notare che esiste un modo più avanzato e specifico per Mac per impostare PATH. Implica la creazione / modifica della environment.plist
configurazione. Per fare questo, prima di tutto scopri il percorso completo (cioè che non coinvolge le definizioni precedenti di $PATH
) di cui hai bisogno:
echo $PATH
Successivamente, esegui questo:
defaults write ~/.MacOSX/environment PATH ...
dove ...
viene sostituito con qualsiasi percorso si desideri essere predefinito a livello di sistema. Metti la tua directory in primo piano ( /usr/local/bin
o qualsiasi altra cosa), non dimenticare ':' e copia / incolla il valore echo'd di PATH alla fine. Quindi, per assicurarti che la tua configurazione Mac e la configurazione della shell siano sulla stessa pagina, vai a ~ / .bash_profile e dove hai avuto la export PATH
linea in precedenza , fai invece:
export PATH=`defaults read ~/.MacOSX/environment.plist PATH`
Ecco come ho impostato PATH sul mio Mac.
Perché attraversare tutti questi problemi? Perché, a differenza del PERCORSO definito in ~/.bash_profile
, questo valore predefinito può essere visto dalle applicazioni GUI che vengono avviate dal Finder o Spotlight. Tuttavia, per le operazioni Git eseguirai dalla riga di comando, non ne avrai bisogno. Inoltre, a molte applicazioni della GUI che utilizzano Git può essere assegnato il percorso assoluto ( /usr/local/bin/git
) al programma Git, qualora fosse necessario eseguirlo. Quindi potresti essere in grado di scappare senza dover saltare attraverso questi due cerchi extra. Ma ora conosci il trucco, nel caso in cui diventasse necessario in seguito.
Happy Git hacking!
/usr/local/bin
dovrebbe già essere sul loro cammino.