Introduzione

Ruby on Rails (RoR) è uno degli stack di applicazioni più popolari per lo sviluppo di app e siti web. Il linguaggio di programmazione Ruby, combinato con il framework di sviluppo di Rails, semplifica lo sviluppo di app.

Ruby on Rails è open source, pubblicato con licenza MIT. Segue il concetto MVC (Model-View-Controller).

Rails fornisce strutture predefinite per il database, il servizio Web e le pagine Web. Più di 3000 sviluppatori hanno contribuito con il codice al framework Rails e ci sono molte applicazioni ben note basate su Rails, come Github, Airbnb, Soundcloud, ecc.

In questo tutorial, ti mostreremo come installare Ruby on Rails su Ubuntu 20.04 LTS Focal Fossa.

Lo strumento da terminale, rbenv, ti permette di installare facilmente Ruby on Rails.

Prerequisiti

Assicurati di aver soddisfatto i seguenti prerequisiti prima di continuare con questo tutorial:

Se desideri installare Ruby on Rails su un server in remoto continua a leggere, altrimenti salta il primo paragrafo "Connessione al Server" e leggi il successivo.

Connessione al Server

Per accedere al server, è necessario conoscere l'indirizzo IP. Avrai anche bisogno dell'username e della password per l'autenticazione. Per connettersi al server come utente root digitare il seguente comando:

ssh [email protected]_DEL_SERVER

Successivamente sarà necessario inserire la password dell'utente root.

Se non utilizzate l'utente root potete connettervi con un'altro nome utente utilizzando lo stesso comando, quindi modificare root con il vostro nome_utente:

ssh [email protected]_DEL_SERVER

Successivamente vi verrà chiesto di inserire la password del vostro utente.

La porta standard per connettersi tramite ssh è la 22, se il vostro server utilizza una porta diversa, sarà necessario specificarla utilizzando il parametro -p, quindi digitare il seguente comando:

ssh [email protected]_DEL_SERVER -p PORTA

Installare rbenv

Aggiornare la lista dei pacchetti disponibili su Ubuntu:

sudo apt update

Installare le dipendenze necessarie richieste per installare Ruby:

sudo apt install autoconf bison build-essential libssl-dev libyaml-dev libreadline6-dev zlib1g-dev libncurses5-dev libffi-dev libgdbm-dev

Scaricare ed installare la versione di rbenv presente su Github:

git clone https://github.com/rbenv/rbenv.git ~/.rbenv

Aggiungere il $PATH di rbenv nel file .bashrc per poterlo utilizzare da terminale:

echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc

Aggiungere il comando init sempre nel file .bashrc per fare in modo che rbenv si avvii in automatico, in questo modo:

echo 'eval "$(rbenv init -)"' >> ~/.bashrc

Per confermare le modifiche effettuate è necessario ricaricare il file, quindi:

source ~/.bashrc

Verificare se rbenv è stato installato correttamente:

type rbenv

Dovreste ricevere un messaggio di output simile al seguente:

rbenv is a function
rbenv ()
{
    local command;
    command="${1:-}";
    if [ "$#" -gt 0 ]; then
        shift;
    fi;
    case "$command" in
        rehash | shell)
            eval "$(rbenv "sh-$command" "[email protected]")"
        ;;
        *)
            command rbenv "$command" "[email protected]"
        ;;
    esac
}

Installare il plugin ruby-build. Questo plugin permette una più semplice installazione delle versioni di Ruby:

git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build

Installare Ruby

Per installare Ruby utilizzeremo il plugin precedentemente installato, controlliamo le versioni disponibili di Ruby:

rbenv install -l

Dovresti visualizzare un messaggio di output simile al seguente:

2.5.8
2.6.6
2.7.1
jruby-9.2.11.1
maglev-1.0.0
mruby-2.1.0
rbx-4.15
truffleruby-20.1.0

Only latest stable releases for each Ruby implementation are shown.
Use 'rbenv install --list-all' to show all local versions.

L'ultima versione attualmente disponibile è la 2.7.1, quindi da terminale:

rbenv install 2.7.1

L'installazione richiederà diverso tempo.

Al termine dell'installazione impostare l'ultima versione di Ruby come predefinita:

rbenv global 2.7.1

Verificare la corretta installazione di Ruby:

ruby -v

Dovresti visualizzare un messaggio di output simile al seguente:

ruby 2.7.1p83 (2020-03-31 revision a0c7c23c9c) [x86_64-linux]

Installare Gems

Gem uno comando progettato per facilitare la gestione dell'installazione delle "Gems" e per la loro distribuzione.

Le Gems sono le librerie di Ruby. Il comando Gem ti permette di gestire queste librerie.

Quando si installa una Gem, il processo di installazione genera documentazione locale. Questo rallenta di molto il processo di installazione di ciascuna libreria. Possiamo disabilitare questa funziona con il seguente comando:

echo "gem: --no-document" > ~/.gemrc

Installare Bundler, un tool per gestire le dipendenze delle Gems, con il comando Gem:

gem install bundler

Dovresti ricevere un messaggio di output simile al seguente:

Fetching: bundler-1.16.2.gem (100%)
Successfully installed bundler-1.16.2
1 gem installed

Per vedere dove vengono installate le Gems, dare il seguente comando:

gem env home

Installare Rails

Per installare l'ultima versione di Rails possiamo utilizzare il comando Gem:

gem install rails

Il processo di installazione richiederà molto tempo, al termine dovresti ricevere un messaggio di output simile al seguente:

...
Successfully installed rails-6.0.3.1
40 gems installed

Ogni volta che si installa una nuova versione di Ruby o una Gem (libreria) bisogna eseguire il comando rehash. Questo comando abbina le nuove librerie installate e le eventuali versioni aggiornate di Ruby.

Quindi da terminale:

rbenv rehash

Verificare la corretta installazione di Rails:

rails -v
Rails 6.0.3.1

Aggiornare Ruby

Se si desidera aggiornare Ruby all'ultima versione, dare questi comandi:

cd ~/.rbenv
git pull

Disinstallare Ruby

Se si desidera rimuovere una vecchia versione di Ruby, dare il seguente comando (Esempio versione 2.7.1):

rbenv uninstall 2.7.1

Disinstallare rbenv

Per rimuovere rbenv è necessario aprire il file di configurazione ~/.bashrc:

nano ~/.bashrc

Cercare e rimuovere le seguenti righe:

export PATH="$HOME/.rbenv/bin:$PATH"
eval "$(rbenv init -)"

Salvare e chiudere il file.

Rimuovere rbenv e Ruby:

rm -rf 'rbenv root'

Conclusione

L'installazione e la configurazione di Ruby on Rails e rbenv su Ubuntu 20.04 LTS Focal Fossa è terminata.