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:
- Hai effettuato l'accesso come utente con privilegi sudo.
- Hai installato Git su Ubuntu 20.04 LTS.
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 root@IP_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 nome_utente@IP_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 nome_utente@IP_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" "$@")"
;;
*)
command rbenv "$command" "$@"
;;
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.