2. Installazione di Ruby on Rails con Ubuntu
Articoli precedenti
1. Introduzione a Ruby on Rails
Wath’s next?
3. Controllo delle versioni: GIT
4. First application
Ruby
Poiché Ruby viene corredato con numerosi Gem e framework di Gem (Rails ne è un esempio) i quali possono avere delle dipendenze tra di loro, è molto importante affidare la gestione dell’installazione ad un “Ruby Version Manager”.
La mia raccomandazione è quella di usare RVM per gestire le versioni: è molto diffuso, ben supportato e ricco di funzionalità. In ogni caso consiglio di non usare apt-get: il “Package Manager” installerà una versione non aggiornata ed a livello System (per tutti gli utenti).
Se avete una versione RVM già installata, prima di installare Ruby aggiornatela alla versione più recente:
$ rvm get stable --autolibs=enable
In caso contrario fare riferimento ai paragrafi “Fase 0 - Preparazione” e “Fase 1 - RVM” nel documento:
Installazione ambiente per Drupal/Omega
Una volta finito con RVM, per installare Ruby fate riferimento al paragrafo “Fase 3 - Ruby” del documento indicato precedentemente:
Installazione ambiente per Drupal/Omega
N.B. se non ritenete necessario approfondire le tematiche sulla gestione di versioni differenti di Ruby, è sufficiente installare l’ultima versione:
$ rvm install ruby
Gems
RubyGems è il gestore dei Gem in Ruby. Verificatene la versione :
$ gem -v
dovreste avere la 2.2.2. Al momento in cui è stato redatto questo articolo la più recente sarebbe la 2.4.1: non installatela perché un errore vi impedirà poi di caricare il Rails più recente. Per avere la lista dei GemSet disponibili eseguire:
$ rvm gemset list
Noterete che solo i GemSet “default” and “global” sono pre-installati. Se dovesse apparire l’errore “rvm is not a function,” chiudete il Terminal in uso e apritene un altro.
Per vedere quali Gem sono presenti in un GemSet, per esempio “global”, eseguire:
$ rvm gemset use global
$ gem list
*** LOCAL GEMS ***
bigdecimal (1.1.0)
bundler (1.5.3)
(…)
rake (0.9.2.2)
In particolare nel GemSet “default” troviamo i seguenti Gem:
- bundler
- bundler-unload
- rake
- rubygems-bundler
- rvm
Ricordatevi dei Gem “bundler” e “rake”: li reincontrerete presto!
Per vedere se ci sono dei Gem non aggiornati:
$ gem outdated
bigdecimal (1.1.0 < 1.2.5)
bundler (1.5.3 < 1.7.2)
(…)
rake (0.9.2.2 < 10.3.2)
Verificate che rake sia aggiornato alla versione 10.2.1 o superiore. Per aggiornare i Gem eseguire:
$ gem update
Per verificare le nuove versioni eseguire di nuovo:
$ gem list
*** LOCAL GEMS ***
bigdecimal (1.2.5, 1.1.0)
bundler (1.7.2, 1.5.3)
(…)
rake (10.3.2, 0.9.2.2)
N.B.
Ogni versione di Ruby ha il proprio set di Gem con relativa versione pertanto, se avete più versioni, l’aggiornamento si applica solo ai Gem relativi alla versione Ruby in uso.
N.B. 2
Di default quando vengono installati i Gem viene scaricata pure la documentazione. Poiché i file di documentazione vengono raramente usati e si preferisce consultare materiale sul Web, possiamo sveltire le operazioni disabilitando l’aggiunta delle documentazioni:
$ echo "gem: --no-document" >> ~/.gemrc
Rails
Dalla versione Rails 3.1, è necessario avere un runtime JavaScript per sviluppare con Ubuntu, perciò è meglio installare l’ambiente Node.js server-side JavaScript. Eseguire:
$ sudo apt-get install nodejs
N.B. NodeJS servirà anche più avanti quando eseguiremo WEBrick, il Web Server di Ruby.
Prima di installare Rails è consigliabile aggiungere la Gem Nokogiri ( http://nokogiri.org/) un parser/reader di HTML, XML, SAX con anche funzionalità di ricerca di documenti via XPath o CSS3 selectors (ed altro ancora), in quanto viene usata da molti altri Gem.
$ gem install nokogiri
L’installazione di Nokogiri può essere piuttosto lunga: non ritenete che ci siano stati dei problemi se dopo due o tre minuti non è ancora terminata, a meno che non appaia un messaggio di errore o abbiate aspettato più di dieci minuti. In caso di problemi provate a consultare il sito Stack Overflow:
http://stackoverflow.com/questions/tagged/nokogiri
Poiché Rails è semplicemente una Gem, la installeremo come tutte le altre:
$ gem install rails
Per vedere la versione installata:
$ rails -v
Bundler
Cos’è Bundler? Bundler è una Gem contenuta nel GemSet “default” che fornisce un ambiente “consistente” per i progetti Ruby, tenendo traccia e installando le Gem, necessarie all’applicazione, nelle versioni corrette. Questo significa che non dovremo più preoccuparci di tenere allineate tutte le applicazioni che utilizzano uno stesso Gem quando in una di esse viene utilizzata, per esempio, una nuova versione.
Usarlo non è obbligatorio ma è un salvagente nell’inferno delle dependency!
Come detto precedentemente Bundler dovrebbe essere presente ma, se per qualche motivo avete necessità di installarlo, basta eseguire il comando:
$ gem install bundler
Quindi, per attivare la gestione delle versioni del Gem usando Bundler basta spostarsi nella cartella dove risiede l’applicazione ed eseguire:
$ bundle install
Un’altra funzione del comando “bundle install” è quella di consultare i file Gemfile e Gemfile.lock (file che contengono le Gem necessarie al progetto: li trovate nella root del progetto stesso) e installare tutti le Gem eventualmente mancanti (usando la versione indicata nei file citati). Per verificare l'elenco delle Gem gestite da Bundler:
$ bundle show
SQLite
Dopo l’installazione di Ruby e Rails troveremo tra le Gem disponibili SQLite3: siamo quindi attrezzati per utilizzare questo database. Quello che sarebbe utile avere è anche un Database Browser. Seguite il link SQLite database browser per caricare la pagina che vi permetterà di scaricare un ottimo browser per Ubuntu.
Articoli precedenti
1. Introduzione a Ruby on Rails
Wath’s next?
3. Controllo delle versioni: GIT
4. First application