Homebrew: i comandi principali
Dopo una introduzione generale ad Homebrew ed ai suoi concorrenti e dopo aver visto come installare (e disinstallare) Homebrew, è arrivata finalmente l’ora di imparare ad usarlo.
Homebrew si utilizza dalla linea di comando tramite il comando brew. Data la sua semplicità e per il target di utenti a cui è dedicato, non dispone di una interfaccia grafica, che sottrarrebbe solo risorse allo sviluppo del sistema di base. Del resto non ce n’è bisogno, i pochi comandi di Homebrew sono abbastanza facili e coerenti da essere imparati senza troppi problemi.
Il comando brew è sempre seguito da una singola istruzione che specifica cosa fare, ed eventualmente da una o più opzioni e dal nome di uno (o più) package su cui operare. In sintesi:
$ brew istruzione [opzione ...] [package ...]
dove le parti non obbligatorie del comando sono fra parentesi quadre.
Prima di iniziare ad installare dei nuovi package, è consigliabile aggiornare Homebrew con
$ brew update
Se ci sono nuovi aggiornamenti del sistema (cosa che succede molto di frequente) questi vengono scaricati ed installati automaticamente. Alla fine Homebrew risponde con un messaggio analogo a questo (Figura 1)
Updated Homebrew from e36a15fd to bd1818ee.
seguito eventualmente dalla lista dei nuovi package disponibili (o formulae nel gergo di Homebrew), di quelli aggiornati e di quelli eventualmente rimossi dal sistema di gestione
==> New Formulae
darcs nutcracker shrewsoft-vpn-client
git-annex pandoc somagic
...
...
==> Updated Formulae
ansible gwyddion mitproxy
ant hamsterdb mkvtomp4
...
...
Se si vogliono cercare informazioni su un qualunque package di Homebrew, ad esempio su pandoc che, come si vede sopra, è stato appena aggiunto al sistema, si possono usare i comandi
$ brew search pandoc
che elenca tutti i package disponibili il cui nome contiene la stringa pandoc, oppure
$ brew info pandoc
che riporta una serie di informazioni utili sul package
$ brew info pandoc
pandoc: stable 1.12.3 (bottled)
http://johnmacfarlane.net/pandoc/
Not installed
From: https://github.com/Homebrew/homebrew/commits/master/Library/Formula/pandoc.rb
==> Dependencies
Build: ghc ✘, cabal-install ✘
Required: gmp ✔
fra cui la versione del software, la disponibilità in formato bottled cioè di pacchetto precompilato, il sito web del package, lo stat dell’installazione, i package da cui dipende (le cosiddette dipendenze) e di cui ha bisogno per funzionare correttamente.
Come si vede in Figura 2, pandoc per essere compilato (build) ha bisogno di ghc e cabal-install (il segno indica che che non sono installati) e per funzionare richiede obbligatoriamente (required) il package gmp (che invece è già installato).
Si possono ottenere ulteriori informazioni su un package (Figura 2) con
$ brew deps pandoc
che elenca tutte le dipendenze, sia del package in sé che, in modo ricorsivo, di tutti i package di cui ha bisogno, e con
$ brew home pandoc
che riporta direttamente al sito web del package, in questo caso al sito Pandoc, a universal document converter.
Infine il comando senza opzioni
$ brew search
restituisce l’elenco completo di tutti i package disponibili in Homebrew.
Per contare il numero dei package presenti in Homebrew in un determinato momento si può passare la lista ottenuta con brew search al comando wc, la cui opzione -w conta il numero di parole contenute nella lista in ingresso (Figura 3)
$ brew search | wc -w
3102
Sono anche disponibili due ottimi siti web, Search Brew e braumeister.org , che semplificano notevolmente il processo di ricerca dei package presenti in Homebrew.
Una volta selezionato un package, questo può essere installato con il comando
$ brew install package
Ad esempio, provando ad installare il package pandoc si ottiene
$ brew install pandoc
==> Downloading https://downloads.sf.net/project/machomebrew/Bottles/pandoc-1.12.3.mavericks.bottle.tar.gz
######################################################################## 100.0%
==> Pouring pandoc-1.12.3.mavericks.bottle.tar.gz
==> Caveats
Bash completion has been installed to:
/usr/local/etc/bash_completion.d
==> Summary
🍺 /usr/local/Cellar/pandoc/1.12.3: 48 files, 50M
che scarica automaticamente il package precompilato, insieme alle eventuali dipendenze, e lo installa sul Mac (Figura 4). Se il package non è disponibile in formato precompilato, Homebrew si occupa di scaricare il sorgente, configurarlo e installarlo automaticamente, senza che l’utente sia obbligato ad intervenire nel corso del processo.
È anche possibile installare contemporaneamente più di un package, basta elencarli di seguito nel comando di installazione, separati da spazi
$ brew install package1 package2 ...
Per disinstallare un package si usa (ovviamente)
$ brew uninstall pandoc
Uninstalling /usr/local/Cellar/pandoc/1.12.3...
Infine, per ottenere la lista dei package già installati da Homebrew
$ brew list
align gnuplot lua py2cairo
atk gobject-introspection matplotlib pygobject
...
...
oppure
$ brew list --versions
align 1.7.2
atk 2.10.0 2.12.0
autoconf 2.69
automake 1.14.1
autotrace 0.31.1_1
cairo 1.12.16_1
...
...
che riporta la lista dei package installati insieme al relativo numero di versione (Figura 5).
Come già detto all’inizio del post, il comando
$ brew update
serve per aggiornare il sistema Homebrew vero e proprio, mentre il comando
$ brew outdated
serve per ottenere la lista delle nuove versioni dei package già installati, che possono essere poi aggiornati con
$ brew upgrade
Questi comandi sono più che sufficienti per usare Homebrew. Un uso più avanzato del sistema richiede solo (pochi) altri comandi, che vedremo in un prossimo post.
IT
EN