Vediamo ora in dettaglio i principali comandi con degli esempi illustrativi. Cominciamo con quello più utile e maggiormente utilizzato: install
. Per installare una nuova gemma basta scrivere, avendo i giusti permessi, semplicemente:
$ gem install <nome_pacchetto_da_installare>
ad esempio
$ gem install gmailer Successfully installed gmailer-0.1.5
è possibile anche fornire delle utilissime opzioni, ad esempio:
- -v, --version seguito dal numero di versione del pacchetto da installare
- -r, --rdoc per generare la documentazione rdoc del pacchetto installato
- --ri per generare la documentazione ri del pacchetto installato
- -f, --force l'installazione viene forzata senza tenere conto delle dipendenze
- -t, --test prima dell'installazione vengono eseguiti i test unitari
L'elenco completo è visualizzabile con il comando
$ gem help install
Per poter utilizzare le librerie, installate con RubyGems, nei nostri sorgenti bisogna indicare esplicitamente che è una gemma. Per fare questo occorre caricare prima rubygems
e poi chiamare gem
e il normale require
. Gem
in pratica serve solo quando si vuole indicare a require di caricare una particolare versione della libreria. Ad esempio:
require 'rubygems' gem 'mysql', '=2.7' require 'mysql'
oppure, dato che rubygems carica l'ultima versione disponibile, spesso può bastare un solo:
require 'rubygems' require 'mysql'
In alternativa impostando la variabile d'ambiente RUBYOPT al valore 'rubygems'
export RUBYOPT=rubygems
ovvero eseguendo sempre ruby
con l'opzione rubygems, possiamo richiamare le librerie all'interno dei programmi senza dover specificare alcunché:
require 'mysql'
Per disinstallare un pacchetto installato con RubyGems va ovviamente utilizzato il comando uninstall
. Altro comando fondamentale è list
che elenca tutte le gemme installate nel sistema locale:
$ gem list *** LOCAL GEMS *** actionmailer (1.3.1) Service layer for easy email delivery and testing. actionpack (1.13.1) Web-flow and rendering framework putting the VC in MVC. actionwebservice (1.2.1) Web service support for Action Pack.
Indicando l'opzione --remote
è possibile elencare tutte le gemme presenti nel repository remoto, che se non specificato diversamente è quello ufficiale su rubyforge.org. Possiamo inoltre specificare come deve iniziare il nome del pacchetto passando una stringa come parametro e ottenendo l'elenco parziale voluto:
$ gem list --remote gmail *** REMOTE GEMS *** gmailer (0.1.5, 0.1.4, 0.1.3, 0.1.2, 0.1.1, 0.1.0, 0.0.9, 0.0.8, 0.0.7, 0.0.6, 0.0.5) An class interface of the Google's webmail service
Utilizzando search
invece la ricerca avviene su tutto il nome del pacchetto. RubyGems permette, come detto, anche di aggiornare i pacchetti installati con il comando update
seguito dal nome della gemma, se non viene indicato nessun parametro verranno aggiornati tutti i pacchetti installati con gem. Le opzioni di update sono a grandi linee le stesse di install.