Homebrew (a differenza di Macports) non mette i programmi in anticipo rispetto a quelli del sistema

1

Macports inserisce /opt/local/bin/ prima di /usr/bin nel percorso, quindi se lo stesso programma esiste in entrambe le cartelle, lo stesso Macports installato ha la precedenza.

Non sono chiaro su come Homebrew gestisce questo problema. Prendendo un esempio concreto, diciamo che eseguo brew install git , ora ho

> /usr/local/bin/git --version
git version 2.14.2
> git --version
git version 2.13.5 (Apple Git-94)

Per usare il più recente (git 2.14), è noioso usare /usr/local/bin/git . Inoltre, dare più priorità a /usr/local/bin sul mio può avere effetti collaterali indesiderati.

Qual è il modo standard per eseguire programmi Homebrew aggiornati quando si scontrano con quelli già in macOS? Per python ho visto che Homebrew evita le collisioni richiedendo agli utenti di digitare python2 o python3 . Questo è meno chiaro per il caso di git .

    
posta Calaf 09.10.2017 - 12:01
fonte

1 risposta

2

La convenzione generale consiste infatti nel mettere /usr/local/bin davanti a /usr/bin . Questo è fattibile modificando il file /etc/path o sudo launchctl config user path "/usr/local/bin:$PATH" . Ciò farà sì che gli eseguibili in /usr/bin vengano oscurati da quelli in /usr/local/bin . Le Domande frequenti Homebrew suggeriscono questo.

Le ricette di Homebrew non collegheranno deliberatamente alcun programma a /usr/local/bin che potrebbe potenzialmente causare conflitti a livello di sistema (gli eseguibili homebrew sono effettivamente installati in /usr/local/Cellar e collegati simbolicamente a /usr/local/bin ). Quando installi un pacchetto potenzialmente a rischio di conflitto, homebrew ti avviserà a riguardo e dirà qualcosa sull'effetto di "Non abbiamo collegato automaticamente questo pacchetto. Se lo desideri, puoi eseguire 'brew link ..." Homebrew è generalmente abbastanza buono per essere rispettoso dei pacchetti di sistema esistenti.

Come aneddoto empirico, ho sempre ombreggiato /usr/bin con /usr/local/bin e non ho mai avuto problemi. YMMV, ovviamente.

    
risposta data 09.10.2017 - 18:58
fonte

Leggi altre domande sui tag