Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial
  • Lezione 32 di 32
  • livello principiante
Indice lezioni

Installare le gem

Alcuni elementi utili per l'installazione e l'integrazione delle gem nelle applicazioni
Alcuni elementi utili per l'installazione e l'integrazione delle gem nelle applicazioni
Link copiato negli appunti

Nel corso della guida abbiamo incotrato ed utilizzato alcune librerie che non si trovano nel pacchetto "base" di Ruby. Perché queste gemme funzionino correttamente è necessaria qualche attenzione in più in fase di installazione.

Dobbiamo riprendere e mettere in pratica quanto già visto nella guida Ruby, nel capitolo su RubyGems. Anzitutto abbiamo visto che per installare una gem è necessario utilizzare il comando:

Installazione di una gem

sudo gem install <nomegem>

Nota: Effettuiamo sempre le installazioni come "super user" (sudo) per non avere problemi di permessi.

Qui potrebbe già sorgere qualche difficoltà, in alcuni casi i nomi dei file delle gem non corrispondono a quelli utilizzati per le dichiarazioni delle relative classi. Ad esempio il nome del file della gemma WWW:Mechanize è semplicemente mechanize.

Un modo semplice per avere un riscontro immediato consiste nel creare un file di testo con tutte le gemme disponibili ed effettuando una ricerca al suo interno.

Creare un file con la lista delle gemme

gem list -r >> gemlist.txt

Per utilizzare un gem abbiamo bisogno di utilizzare rubygem, che, fino alla versione 1.9 di ruby è considerata una libreria esterna. In quanto libreria esterna abbiamo bisogno di caricarla utilizzando il comando require.

require 'rubygems'

Questa istruzione carica il gestore delle gem e va eseguita, a meno che non siamo su rails o altrove dove il caricamento è previsto dal framework.

Ruby, per default, non carica le gem automaticamente e se vogliamo utilizzarla dobbiamo inserirla nel percorso di inclusione delle gem utilizzando la variabile $LOAD_PATH

Il modo più semplice per caricare la libreria, però, è quello di richiamarla con la direttiva gem. In questo modo possiamo specificare anche quale versione della libreria ci interessa utilizzare.

Esempio di utilizzo della versione 2.7 della gem 'mysql'

gem 'mysql', '=2.7'

Una volta inserita la gemma nel nostro contesto e decisa la versione, possiamo richiamare la classe principale come qualunque altra libreria standard.

Richiamare la libreria 'mysql'

require 'mysql'

In realtà questo comando è facoltativo, infatti con il comando gem abbiamo già la gemma caricata e predisposta all'utilizzo. Rimane il problema dei nomi. Come dicevamo può capitare che il nome della gemma e il nome dei file non siano uguali, in questo caso, specificando il nome della libreria nel comando require non corriamo rischi.

Ecco l'esempio completo:

require 'rubygems'
gem 'mysql', '=2.7'
require 'mysql'

Ti consigliamo anche