macOS Homebrew: package manager

Cos'è Homebrew

Homebrew è il package manager più diffuso per macOS. Permette di installare migliaia di software open source da riga di comando con un singolo comando, gestisce automaticamente dipendenze e aggiornamenti. Per chi viene da Linux è l'equivalente di apt o yum: indispensabile per chi lavora come sviluppatore o sysadmin su Mac. È completamente gratuito e open source, mantenuto dalla community, e supporta sia macOS Intel sia Apple Silicon. Nato nel 2009, è oggi il modo standard per installare strumenti da terminale su Mac.

Installazione

Apri Terminale e incolla il comando ufficiale dal sito brew.sh: /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)". Il processo richiede la password sudo e installa Homebrew in /opt/homebrew su Apple Silicon o /usr/local su Intel. Alla fine ricorda di aggiungere il PATH come suggerito dallo script. L'installer scarica anche i Command Line Tools di Xcode se non sono presenti (necessari per compilare formule da sorgente).

Aggiungere brew al PATH

Su Apple Silicon esegui: echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zprofile seguito da eval "$(/opt/homebrew/bin/brew shellenv)". Verifica con brew --version: dovresti vedere la versione installata. Se usi bash invece di zsh sostituisci ~/.zprofile con ~/.bash_profile. Senza questo step, il comando brew non viene trovato e ogni installazione fallisce.

Comandi base

brew install nome installa un pacchetto (es. brew install wget). brew uninstall nome rimuove. brew search parola cerca tra i pacchetti disponibili. brew info nome mostra descrizione, dipendenze e opzioni. brew list elenca i pacchetti installati. brew update aggiorna l'indice. brew upgrade aggiorna tutti i pacchetti installati. brew upgrade nome aggiorna solo uno specifico. brew outdated mostra quali pacchetti hanno aggiornamenti disponibili senza installarli.

Formulae vs Casks

Homebrew distingue tra Formulae (software open source da compilare/installare in command line, es. node, python, ffmpeg) e Casks (applicazioni GUI distribuite come .dmg o .pkg, es. Google Chrome, Visual Studio Code). Per installare un cask: brew install --cask nome oppure brew install --cask google-chrome. Per cercare tra i cask: brew search --casks parola. I cask sono particolarmente utili in ambito aziendale per automatizzare il setup di nuovi Mac: uno script con tutti i brew install --cask necessari prepara un Mac fresco in pochi minuti.

Pacchetti utili in ambito aziendale

Strumenti di rete: nmap, iperf3, mtr, wireshark. Sviluppo: git (Apple ne include una versione spesso vecchia, brew installa l'ultima), node, python@3.12, php, composer, go. Database client: mysql-client, postgresql, redis, sqlite. Multimedia: ffmpeg, imagemagick, youtube-dl. Sicurezza: gnupg, openssh, nmap. Utility: htop, tree, jq, ripgrep, fzf, bat, fd.

Casks utili per il lavoro

Installazione rapida del setup aziendale Mac: brew install --cask google-chrome firefox visual-studio-code rectangle iterm2 microsoft-office zoom slack 1password notion docker. Tutti i programmi vengono installati in Applicazioni come .app standard, con il vantaggio di essere aggiornabili tramite brew upgrade. Per ambienti gestiti puoi creare un Brewfile, file di testo con la lista di tutti i pacchetti, ed eseguire brew bundle install per installare tutto in un colpo solo.

Servizi in background

Homebrew gestisce anche servizi (daemon) tramite brew services. Esempio: brew services start mysql avvia MySQL, brew services stop mysql lo ferma, brew services list mostra tutti i servizi. Pratico per ambienti di sviluppo locali. I servizi sono configurati come launchd plist in ~/Library/LaunchAgents/: si avviano automaticamente al login utente o al riavvio del Mac.

Manutenzione

brew doctor diagnostica problemi nell'installazione. brew cleanup rimuove versioni vecchie e cache (libera spazio). brew autoremove rimuove dipendenze orfane. Pulizia completa: brew cleanup --prune=all. Esegui questi comandi periodicamente: dopo molti mesi le vecchie versioni occupano gigabyte. Per audit di sicurezza usa brew audit sui pacchetti installati.

Aggiornamenti e versioning

A differenza di app store, brew permette di mantenere versioni specifiche: brew pin nome impedisce a quel pacchetto di essere aggiornato con brew upgrade. brew unpin nome lo riabilita. Utile per software che funzionano solo con versioni specifiche di dipendenze (es. Python 3.10 per un progetto legacy). Per installare versioni specifiche cerca le formule versionate: node@18, postgresql@14.

Tap di terze parti

I tap sono repository aggiuntive di formule oltre a quella ufficiale. Sintassi: brew tap utente/nome. Esempio: brew tap homebrew/cask-fonts aggiunge i font open source. Tap utili: buo/cask-upgrade per aggiornare i cask in modo intelligente, homebrew/cask-versions per versioni alternative di cask popolari (es. firefox-developer-edition).

Brewfile per onboarding

Crea un file Brewfile con la lista di tutti i pacchetti aziendali standard. Sintassi: brew "git" per formule, cask "google-chrome" per cask, tap "homebrew/cask-fonts" per tap. Esegui brew bundle install nella cartella del Brewfile e installa tutto. Distribuisci il Brewfile via Git aziendale o MDM. È il modo più semplice per setup uniforme di nuovi Mac aziendali in pochi minuti.

Sicurezza e brew

Brew installa software open source che è generalmente sicuro, ma verifica sempre i pacchetti meno noti. Le formule sono codice pubblico controllabile su GitHub. Per ambienti enterprise considera un mirror Homebrew interno (homebrew-bottles-mirror) che ospita versioni approvate dei pacchetti, evitando dipendenza da repository esterni e velocizzando le installazioni.

Hai bisogno di aiuto?

Se vuoi supporto Mac aziendale dal team di G Tech Group, scrivici tramite il modulo di contatto.

Hai trovato utile quest'articolo?