Cos’è Homebrew per macOS?

main-qimg-bc66aaa17b88ba7c8c77c728d9162c4d

Ci sono molti gusti di UNIX nel mondo oggi, alcuni che sono veramente UNIX, come BSD, e alcuni che funzionano come UNIX ma non sono certificati, come Linux.

I sistemi UNIX sono abbastanza diversi che uno non può semplicemente copiare un programma da un gusto di UNIX a un altro e aspettarsi che funzioni. In effetti, la complessità del software oggi significa che non si può copiare un pezzo di software UNIX da una macchina ad un'altra anche quando queste eseguono lo stesso sistema operativo e aspettarsi che funzioni. Sono abbastanza compatibili, comunque, che il codice sorgente del software può essere tipicamente compilato, in presenza delle librerie appropriate e degli strumenti di supporto, in software binario eseguibile che può essere eseguito su ogni particolare sistema operativo.

Questa complessità ha portato allo sviluppo di un genere di software chiamato "gestori di pacchetti", il cui compito è quello di ottenere le librerie appropriate e il software dipendente necessario per compilare ed eseguire il software su un particolare sistema operativo. (Vedere Package manager per maggiori informazioni.)

I package manager fanno un inventario del software installato su una macchina, determinano tutte le dipendenze necessarie per un pacchetto desiderato, costruiscono quelle dipendenze, e poi costruiscono il pacchetto selezionato.

In breve, se siete interessati ad installare software dalla più ampia comunità UNIX sul Mac, dovreste prima installare un package manager per facilitare il processo e assicurare la compatibilità. Homebrew è uno di questi gestori di pacchetti.

Il gestore di pacchetti su Linux si chiama aptitude, e il modo per installare un particolare pezzo di software su Linux è usare il comando apt-get install {nome-pacchetto}. Potreste aver visto questo comando nella documentazione in giro per il web.

BSD UNIX, di cui Darwin o OS X è un derivato, non ha un gestore di pacchetti incorporato come aptitude, ed è per questo che Homebrew si definisce il "gestore di pacchetti mancante".

Homebrew è uno dei vari gestori di pacchetti per OS X, inclusi MacPorts e Fink.

Homebrew, come tutti i gestori di pacchetti, si basa su un database di metadati (dati che descrivono dati) sui pacchetti software, e uno degli elementi di questi metadati è la posizione, tipicamente su Internet, del codice sorgente da costruire insieme a una lista di dipendenze richieste. Homebrew tipicamente usa repository pubblici di github per i suoi sorgenti, e usa script Ruby per dichiarare i metadati sul pacchetto.

Così, Homebrew è un gestore di pacchetti per OS X che permette all'utente di installare facilmente software dal più ampio corpo di software UNIX e open source sul Mac. Poiché usa Ruby e si integra facilmente con github, è estensibile da semplici mortali, il che significa che il corpo dei pacchetti coperti è facile da far crescere. La maggior parte dei popolari pacchetti software UNIX sono disponibili per essere installati attraverso Homebrew e quelli che non lo sono possono essere resi disponibili attraverso alcune configurazioni in Ruby.