Tutorial Homebrew: come usare Homebrew per MacOS

All'inizio era la riga di comando. Questo è vero per quasi tutti i sistemi operativi, ma da qualche parte lungo il percorso un'interfaccia utente grafica è diventata il "volto" del computer e solo i vecchi hacker o iniziati sapevano persino come aprire una console o un terminale della riga di comando.

Molti utenti Mac possono gestirsi meravigliosamente senza mai aprire l'app Terminal, tanto meno digitando comandi nella shell Bash. Se trascorri la giornata a modificare le immagini fisse con Lightroom, la riga di comando di MacOS probabilmente ha poca utilità per te.

Gli utenti più tecnici, e in particolare gli sviluppatori di software, hanno bisogno di lavorare nella shell almeno occasionalmente, se non quotidianamente. Gli utenti tecnici con un po 'di background Unix o Linux scopriranno che non tutte le solite utilità sono installate in MacOS come viene dalla fabbrica, anche se nel suo cuore MacOS è un sistema Unix BSD.

In qualità di sviluppatore di software e revisore di software, mi imbatto spesso in questo problema. La prima volta che è successo stavo seguendo le istruzioni di installazione online che pretendevano di funzionare su Linux e sistemi simili a Linux (come Mac OS X, come era noto all'epoca), ma erano state effettivamente testate solo su una o due distribuzioni di Linux. Il comando di installazione fornito era basato su wget, un'utilità per il download non interattivo di file dal web.

Sfortunatamente per me, wgetnon viene installato su un Mac, sebbene l' curlutilità in qualche modo simile lo faccia. Tradurre le wgetopzioni in curlopzioni era un fastidioso passaggio aggiuntivo di cui non avevo bisogno; la mancanza di download ricorsivi in curlera un completo ostacolo per il download della documentazione HTML.

Apple non ha meccanismi ufficiali per aggiungere nuove utilità della riga di comando. Quello che ha per un gestore di pacchetti è l'App Store, ma è solo per le applicazioni (app). Quando ho cercato sul web "wget ​​not found mac" ho subito scoperto che c'erano diversi modi per risolvere il mio problema, inclusa la compilazione wgetdal codice sorgente. Di questi, il più consigliato era Homebrew.

Cos'è l'Homebrew?

Homebrew si definisce " Il gestore di pacchetti mancante per MacOS" (enfasi mia). È conciso, ma un po 'sprezzante. Homebrew è sicuramente un gestore di pacchetti per MacOS, ma ce ne sono altri, come MacPorts e Fink. E del resto, l'App Store è un gestore di pacchetti, anche se specializzato per, ehm, le app dell'App Store. Tuttavia, Homebrew è il gestore di pacchetti di terze parti più popolare per MacOS e fornisce funzionalità mancanti nell'App Store.

Puoi usare Homebrew ( brew) per installare, disinstallare e aggiornare una qualsiasi delle migliaia di "formule" (cioè definizioni di pacchetti) dal suo archivio pubblico principale, più qualsiasi repository tap che desideri utilizzare. Puoi anche utilizzare la funzione botte Homebrew ( brew-cask) come un modo per installare, disinstallare e aggiornare i binari MacOS precompilati (come le app, ma non le app dell'App Store) dalla riga di comando. Se lo desideri, puoi creare i tuoi pacchetti Homebrew e scrivere le tue formule Homebrew.

Installa Homebrew

Poiché Homebrew stesso è solo per MacOS, ha istruzioni di installazione abbastanza semplici, almeno se la versione del tuo sistema operativo è più recente di OS X Lion 10.7. Homebrew fondamentalmente esegue solo uno script Ruby dopo averlo scaricato da GitHub; noterai nello screenshot qui sotto che Homebrew utilizza curlper il download, non wgetper i motivi che ho discusso in precedenza.

Homebrew si limita anche al codice Ruby supportato dalla versione Ruby fornita con la versione OS X più vecchia che supporta, 10.5 Leopard.

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

È possibile che l'installazione di Homebrew ti chieda di installare Xcode o gli strumenti della riga di comando per Xcode. Se lo fa e cosa suggerisce dipenderà dalla versione del sistema operativo e dalle versioni dei compilatori C e C ++ installati sul sistema.

Secondo la pagina di installazione di Homebrew, se hai una versione precedente di Mac OS X (Lion 10.7 o precedente), devi aggiungere l' --insecureargomento (o -k, in modo equivalente , creare l'elenco completo degli argomenti -fsSLk) al curlcomando. Questo perché la versione di curlsul tuo sistema non parlerà correttamente con GitHub usando HTTPS. Homebrew lo risolverà se lo installi e poi gli chiedi di aggiornare se stesso e le sue dipendenze con brew update.

Se scarichi lo script di installazione e lo leggi, vedrai che include la logica per interrompere se la versione di Mac OS X è inferiore a 10.5. Se ciò si attiva, lo script ti farà riferimento a TigerBrew, che è un fork sperimentale di Homebrew che aggiunge il supporto per PowerPC Mac e Mac con Tiger.

C'è anche un avviso "non supportiamo questa versione" che si attiverà per le versioni di MacOS che sono troppo vecchie o troppo nuove, attualmente impostate su 10.11 e 10.13. Ciò non significa che Homebrew non funzionerà su quelle versioni; significa principalmente che gli sviluppatori non fanno test su di loro.

Usa Homebrew per installare un pacchetto

Come esempio di base, proviamo a installare wgetcon Homebrew. Innanzitutto, avvia Terminal.

Il comando di installazione è solo come indicato nell'immagine sopra: brew install wget. Sulla mia macchina, ha prodotto l'output piuttosto lungo di seguito. Nota che l'installazione è iniziata con un aggiornamento automatico di Homebrew, quindi ha installato wgetle dipendenze di e infine installato wget.