Mac OS ha già installato quasi tutto quello che generalmente occorre alla maggior parte degli utenti e se manca qualche applicazione è facilissimo installarla tramite il magico formato dmg. Chi però è abituato ad utilizzare il terminale perché conosce le potenzialità di questo strumento potrebbe, alcune volte, rimanere deluso e non trovare proprio quella utility necessaria per il proprio script... Homebrew è un gestori pacchetti che consente di installare facilmente tutto quello che manca su MacOS!

Guida Homebrew: gestore pacchetti mancanti MacOS

Questo programma si comporta in maniera analoga ai gestori pacchetti presenti sulle varie distro Linux in particolare si comporta normalmente come il package manager di Gentoo: anche in questo caso vengono scaricati (da un repository online) metapacchetti (detti Formulae) contenenti le istruzioni per scaricare il codice sorgente, compilare il binario e installarlo. Tutto senza bisogno dei diritti di amministratore (niente sudo o shell di root!) e questo è possibile grazie alla particolare architettura del filesystem di MacOS che lascia una cartella disponibile per l'installazione di utility non di sistema. Come ho detto, normalmente, Homebrew scarica il sorgente e lo compila in loco ma, appoggiandosi ad un altro repository (già attivo di default!) ha la possibilità di scaricare anche pacchetti contenenti un binario già compilato (detti Bottle). Ma non finisce qui: con una estensione (ancora una volta, già inclusa ma non attiva di default) questo versatile gestore di pacchetti può installare non solo utility da riga di comando ma anche le applicazioni ad interfaccia grafica che su Mac OS sono contenute in file compressi con estensione .app.

Vediamo adesso come installarlo sul nostro Mac. Il primo passo è quello di installare Xcode e può essere fatto direttamente da terminale, digitando

xcode-select --install

Una finestra apparirà e ci verrà chiesto se vogliamo installare gli strumenti da sviluppatore; confermiamo. Dopodiché clicchiamo su Installa e attendiamo lo scaricamento del software...

Guida Homebrew: gestore pacchetti mancanti MacOS

Adesso che il terminale è tornato in primo piano, passiamo all'installazione di Homebrew digitando:

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Questa riga invoca l'eseguibile ruby per eseguire uno script scaricato al volo tramite curl dal github di Homebrew (avevo già detto che questo programma è open source?? ;) ). Lo script in questione dichiara tutte le operazioni che intende fare e attende che l'utente prema Invio per passare all'esecuzione.

Guida Homebrew: gestore pacchetti mancanti MacOS

Se avete un po' di dimestichezza con il terminale, avrete notato che alcune delle operazioni che lo script intente fare richiedono i permessi di root e infatti ci verrà chiesta la password immediatamente dopo aver premuto Invio.

ATTENZIONE: come regola generale non si deve MAI eseguire alla cieca e, per di più, con i massimi privilegi uno script scaricato da internet!!! Faremo un'eccezione solo in questo caso, ok??

Attendiamo pazientemente la fine dell'installazione...

Guida Homebrew: gestore pacchetti mancanti MacOS

... e saremo pronti ad utilizzare Homebrew!

Per farlo dobbiamo invocare l'eseguibile brew seguito dal comando che ci interessa; vediamo brevemente quali sono i principali e quelli che useremo più comunemente ma ricordatevi che ci sono molti altri comandi disponibili!!. Il primo comando che vedremo consente di aggiornare tutti i pacchetti già installati:

brew update

Dopo aver digitato il comando, il terminale risulterà per un po' impegnato e muto (non vedremo il progresso dell'aggiornamento) ma al termine avremo un chiaro riassunto dei nuovi pacchetti disponibili, di quelli aggiornati, rinominati e rimossi.

Guida Homebrew: gestore pacchetti mancanti MacOS

Per cercare un pacchetto dovremo avvalerci del comando search seguito dalla parola chiave che intendiamo cercare; ad esempio:

brew search parola-chiave

Anche questa volta il terminale rimarrà impegnato e muto per un po' e alla fine avremo il risultato della ricerca.

Guida Homebrew: gestore pacchetti mancanti MacOS

L'installazione avverrà tramite il comando install seguito dal nome del pacchetto:

brew install nome-pacchetto

Questa volta il comando genererà un output che ci informerà del progresso nello scaricamento del pacchetto e di tutte le operazioni che verranno eseguite dopo e, se presenti, verranno mostrate anche alcune note di post-installazione del pacchetto che dovremo leggere attentamente (se le dovessimo perdere, niente panico: sarà sempre possibile richiamarle con il comando brew postinstall nome-pacchetto).

Guida Homebrew: gestore pacchetti mancanti MacOS

Per rimuovere un pacchetto il comando sarà semplicemente:

brew uninstall nome-pacchetto

L'output sarà semplice ed immediato e ci informerà della rimozione dei file del pacchetto.

Per controllare quanti pacchetti abbiamo installato il comando sarà:

brew list

Come detto, abbiamo anche la possibilità di installare le applicazioni con interfaccia grafica avvalendoci dell'estensione cask e sarà sufficiente interporre cask tra brew e ognuno dei comandi già visti ad esclusione di search. Dopo aver lanciato il comando brew cask, che aggiornerà i nuovi repository, sarà sufficiente utilizzare la ricerca secondo la semplice sintassi già vista per ottenere un output che includerà anche i risultati delle applicazioni grafiche installabili con cask!

Guida Homebrew: gestore pacchetti mancanti MacOS

Naturalmente una volta installata un'applicazione tramite cask, potremo accedervi come a qualunque altra applicazione da Launchpad e pinnarla nel Dock!