Homebrew è un gestore di pacchetti open-source, ampiamente utilizzato nell'ecosistema macOS, che semplifica l'installazione, l'aggiornamento e la gestione di software non inclusi nel sistema operativo. Grazie alla sua flessibilità e alla vasta comunità di sviluppatori, Homebrew è diventato uno strumento indispensabile per personalizzare ed estendere le funzionalità di macOS.

Prerequisiti

  • CPU 64-bit Intel
  • macOS 10.12 o superiore
  • Command Line Tools (CLT) per Xcode: xcode-select --install, developer.apple.com/downloads o Xcode
  • Una shell Bourne-compatibile come ad esempio bash o zsh

Installazione

L'installazione di Homebrew è rapida e intuitiva. È sufficiente eseguire il seguente comando nel terminale:

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

Al termine dell'installazione, è consigliabile aggiornare l'indice dei pacchetti disponibili:

brew update

Utilizzo

Usare Homebrew per gestire i nostri software preferiti è molto semplice, anche se non si è degli abitué della riga di comando, in questo modo brew <comando> <nome_del_pacchetto>. Vedremo qui i comandi più utilizzati ma per una lista completa ed esaustiva, come sempre, è bene fare riferimento alla documentazione ufficiale. Facciamo alcuni esempi. Supponiamo di voler installare speedtest-cli, un tool a riga di comando per testare la velocità della connessione internet.

brew install speedtest-cli

Digitando questo comando Homebrew procedere per noi a scaricare e installare il software:

==> Downloading https://github.com/sivel/speedtest-cli/archive/v2.1.1.tar.gz
==> Downloading from https://codeload.github.com/sivel/speedtest-cli/tar.gz/v2.1.1
######################################################################## 100.0%
🍺  /usr/local/Cellar/speedtest-cli/2.1.1: 7 files, 83.2KB, built in 4 seconds

Ma se invece avessimo installato il software errato e lo volessimo disinstallare completamente dal sistema? Anche in questo caso Homebrew si mostra molto semplice nell'utilizzo:

brew uninstall speedtest-cli

Procederà autonomamente ad eliminare ogni traccia di quanto precedentemente installato:

Uninstalling /usr/local/Cellar/speedtest-cli/2.1.1... (7 files, 83.2KB)

Cask

Con Homebrew i possibile installare anche software proprietari ad interfaccia grafica, come ad esempio Spotify. Supponiamo però di non conoscere il nome del pachetto (non sempre il nome di quest'ultimo è intuitivo, se volessi installare Telegram il nome del pacchetto è telegram-desktop-dev) possiamo utilizzare la funzione search in questo modo:

brew search spotify

Il risultato sarà una lista di pachetti (in questo caso spotify ha la spunta ✔ perchè ho già installato questo software sul mio Mac):

==> Casks
spotify ✔                         spotify ✔                         spotify-notifications            
spotify-notifications             spotify-now-playing               spotify-now-playing

I software ad interfaccia grafica vengono gestiti tramite la funzione cask, pertanto, in questo caso, procediamo in questo modo:

brew cask install spotify

Font

Tramite cask è possibile gestire anche i font con libera licenza di distribuzione. Ciò è reso possibile da homebrew-cask-fonts e si installa in questo modo:

brew tap homebrew/cask-fonts

per la ricerca di un font si usa la sintassi:

brew search font- | grep <nome_del_pacchetto>

esempio:

brew search font- | grep fira

ma è anche possibile avere l'elenco di tutti i font disponibili:

brew search font-

l'installazione avviene come un comune pacchetto cask:

brew cask install font-fira-code

e chiaramente anche la disinstallazione

brew cask uninstall font-fira-code

Mas

Homebrew permette anche la gestione di software presenti all'interno di Mac App Store tramite il pacchetto mas. Installiamolo:

brew install mas

Ad esempio, una delle mie applicazioni preferite del Mac App Store, utile nella gestione delle finestre, è Magnet e per installarla procedo in questo modo.

La cerco:

mas search magnet

Mi viene restituito in output un elenco di applicazioni e per ogni riga il numero dell'app, il suo nome e la versione:

[...]
441258766   Magnet   (2.4.6) 
[...]

Infine la installo per mezzo del numero app:

mas install 441258766

Semplice. Pulito. Sicuro.

List

Per ottenere una lista delle applicazioni installate da riga di comando:

brew list

Per la lista delle applicazioni ad interfaccia grafica:

brew cask list

Per la lista delle applicazioni del Mac App Store:

mas list

È possibile concatenare i comandi:

brew list && brew cask list && mas list

Upgrade

Per aggiornare tutte le applicazioni a riga di comando:

brew update

Per aggiornare tutte le applicazioni ad interfaccia grafica:

brew cask upgrade

Per aggiornare tutte le applicazioni del Mac App Store:

mas upgrade

È possibile concatenare i comandi:

brew upgrade && brew cask upgrade && mas upgrade

Per aggiornare una singola applicazione:

brew update <nome_del_pacchetto>
brew cask upgrade <nome_del_pacchetto>
mas upgrade <nome_del_pacchetto>

Ad esempio:

brew cask upgrade spotify

Backup e ripristino

Una delle funzioni che più amo di Homebrew è la possibilità di fare un backup della lista di tutte le applicazioni installate in modo da poterle ripristinare in modo semplice e veloce in caso, ad esempio, di ripristino del sistema operativo, per nuove installazioni o in caso di sostituzione del Mac. Vediamo come procedere:

Installo il pacchetto necessario:

brew tap Homebrew/bundle

Per generare un file di testo con l'elenco delle applicazioni installate:

brew bundle dump

Verrà generato il file Brewfile nella root del Mac aditabile con qualunque file editor. Non dobbiamo far altro che conservare questo file di testo.

Il ripristino è ancora più semplice. Ci portiamo col terminale nella cartella dove abbiamo salvato il Brewfile, ad esempio, supponendo di averlo nella cartella Documenti:

cd Documents

E poi:

brew bundle

Finito. Homebrew installerà per noi tutti le applicazioni del nostro elenco.