Utilizzo di Ruby
ServBay offre un ambiente di sviluppo efficiente e flessibile per sviluppatori Ruby su macOS. Grazie al sistema di gestione dei pacchetti di ServBay, puoi installare e gestire in parallelo più versioni di Ruby, oltre a specificare per ogni progetto la versione di Ruby necessaria tramite il potente file .servbay.config
. In questo modo, lo sviluppo è semplificato e la coerenza degli ambienti garantita.
Panoramica
Introduzione al linguaggio Ruby
Ruby è un linguaggio di programmazione dinamico, open source e orientato agli oggetti, famoso per la sua sintassi elegante e pulita e per l’attenzione alla produttività degli sviluppatori. Creato dal computer scientist giapponese Yukihiro "Matz" Matsumoto a metà degli anni ’90, la sua filosofia di progettazione è “rendere la programmazione più piacevole”. Ruby è fortemente influenzato da Perl, Smalltalk, Eiffel, Ada e Lisp, e dà risalto alla leggibilità e semplicità del codice.
In Ruby tutto è un oggetto. Supporta diversi paradigmi di programmazione, tra cui OOP, programmazione procedurale e funzionale. Il successo mondiale di Ruby è dovuto in particolare a Ruby on Rails, un framework per lo sviluppo web pubblicato da David Heinemeier Hansson (DHH) nel 2004, che ha rivoluzionato la velocità nello sviluppo di applicazioni web. Oggi Ruby è usato universalmente per sviluppo Web (Rails, Sinatra), scripting, automazione, prototipazione e altro. L’ecosistema si basa su RubyGems (package manager) e Bundler (gestore di dipendenze).
Supporto Ruby in ServBay
ServBay gestisce le diverse versioni dell’interprete Ruby come pacchetti indipendenti. Questo offre diversi vantaggi fondamentali:
- Versioni multiple in parallelo: Installa più versioni di Ruby (es. Ruby 2.7, 3.0, 3.3, 3.4 ecc.) senza conflitti di versione.
- Controllo versione per progetto: Tramite il file esclusivo
.servbay.config
puoi specificare con precisione la versione Ruby richiesta da ciascun progetto. - Gestione semplificata: Consulta, installa e rimuovi facilmente ogni versione di Ruby tramite l’interfaccia grafica di ServBay.
- Gestione integrata dei Gem: Dopo l’installazione di Ruby, puoi gestire i pacchetti RubyGems usando direttamente il comando
gem
.
Queste funzioni sono indispensabili per chi mantiene progetti legacy su diverse versioni di Ruby, sviluppa nuovi progetti (come applicazioni Ruby on Rails) o utilizza tool Ruby specifici.
Accesso ai pacchetti Ruby
- Apri l’applicazione ServBay.
- Nella barra di navigazione a sinistra, clicca su
Pacchetti (Packages)
. - Nella pagina
Pacchetti
, scorri verso il basso o selezionaLanguages
->Ruby
nella lista a sinistra. - L’area a destra mostrerà l’elenco di tutti i pacchetti Ruby disponibili.
Installazione di Ruby
L’elenco dei pacchetti mostra chiaramente lo stato di ogni versione di Ruby:
- Nome pacchetto: Il nome del pacchetto, ad esempio
Ruby 3.3
. - Versione: La versione esatta di quel pacchetto.
- Stato: Mostra
Installed
(installato) oppureNot Installed
(non installato). - Controllo: Offre i pulsanti di gestione.
Per installare una versione di Ruby non ancora presente (ad esempio Ruby 3.3
):
- Trova la versione desiderata nell’elenco.
- Assicurati che lo stato sia
Not Installed
. - Clicca sull’icona Scarica/Installa (Download/Install) all’estrema destra (di solito una freccia verso il basso).
- ServBay inizierà a scaricare e installare la versione scelta di Ruby. Il processo potrebbe richiedere alcuni minuti.
- Una volta terminata l’installazione, lo stato cambierà in
Installed
e l’icona di controllo diventerà quella Rimuovi (Uninstall) (cestino).
Gestione delle versioni di Ruby installate
- Visualizza versioni installate: Le voci di stato
Installed
mostrano chiaramente tutte le versioni di Ruby attualmente presenti nell’ambiente. - Rimuovi Ruby: Se non hai più bisogno di una versione di Ruby, clicca sull’icona Rimuovi (Uninstall) (cestino) corrispondente per eliminarla dal sistema, confermando l’operazione.
Utilizzo di Ruby installato
Dopo l’installazione, ServBay aggiunge Ruby alle variabili d’ambiente gestite. Quando attivi l’ambiente ServBay nel terminale, puoi usare direttamente i comandi ruby
e gem
.
Esempi di comandi utili:
Verificare la versione attiva di Ruby: Apri il terminale ed esegui:
bashruby -v
1Questo mostrerà la versione di Ruby attiva nella sessione corrente del terminale. La versione può essere determinata dalle impostazioni globali o dal file
.servbay.config
a livello di progetto.Verificare la versione di RubyGems:
bashgem -v
1Installare un pacchetto Gem: Ad esempio, per installare il popolare generatore di siti statici Jekyll:
bashgem install jekyll
1Oppure per installare il framework Ruby on Rails:
bashgem install rails
1Eseguire uno script Ruby: Crea un file chiamato
hello.rb
con il seguente contenuto:ruby#!/usr/bin/env ruby puts "Hello from Ruby in ServBay!"
1
2Eseguilo dal terminale:
bashruby hello.rb
1
Gestione delle versioni a livello di progetto: .servbay.config
Uno dei vantaggi chiave di ServBay è il supporto alla configurazione ambientale a livello di progetto. Aggiungendo un file denominato .servbay.config
nella cartella base del progetto, puoi bloccare la versione di Ruby richiesta da quello specifico progetto.
Vantaggi:
- Gestione multilanguage: Specifica nello stesso file le versioni di Ruby, PHP, Node.js, Python, Go, Java, .NET e altro.
- Consistenza assicurata: Tutto il team o diversi ambienti di deploy useranno precisamente la stessa versione di Ruby.
- Cambio automatico: Quando passi, con il comando
cd
, a una cartella contenente.servbay.config
, l’ambiente ServBay riconosce e applica automaticamente il valoreRUBY_VERSION
indicato.
Esempio di configurazione:
Crea un file .servbay.config
nella root del tuo progetto Ruby e aggiungi la variabile RUBY_VERSION
per specificare la versione principale richiesta (ad esempio 2.7, 3.3). ServBay userà automaticamente la patch più recente tra quelle installate di quella serie.
# .servbay.config
# Specifica la versione principale di Ruby per il progetto (es. 3.3)
# ServBay selezionerà automaticamente la versione più recente della serie 3.3.x installata
RUBY_VERSION=3.3
# Puoi anche specificare altre versioni e configurazioni
NODE_VERSION=18
# ... altre configurazioni ...
2
3
4
5
6
7
8
9
Dopo aver attivato ServBay nel terminale in questa cartella, esegui ruby -v
e vedrai la versione di Ruby impostata in .servbay.config
(o la più recente della serie installata).
Caso d’uso semplice
Facciamo un esempio pratico creando un semplice progetto per illustrare l’uso di .servbay.config
:
Crea la cartella del progetto:
bashmkdir my-ruby-project cd my-ruby-project
1
2Crea
.servbay.config
: Nella cartellamy-ruby-project
crea il file.servbay.config
con il seguente contenuto:iniRUBY_VERSION=2.7 # Supponendo che Ruby 2.7.x sia già installato
1(Assicurati di aver installato Ruby 2.7 tramite ServBay)
Crea uno script Ruby: Crea un file
app.rb
con:ruby#!/usr/bin/env ruby puts "Project is using Ruby version: #{RUBY_VERSION}"
1
2Attiva e verifica: (Dopo aver attivato l’ambiente ServBay nel terminale) esegui nella cartella
my-ruby-project
:bashruby -v
1L’output mostrerà la versione 2.7.x installata.
Esegui lo script:
bashruby app.rb
1Dovresti vedere:
Project is using Ruby version: 2.7.x
(dove x è la patch installata).Installa le dipendenze del progetto (esempio): Se il progetto usa Bundler per gestire le dipendenze (tipico nei progetti Rails), puoi eseguire:
bash# Se bundler non è installato # gem install bundler bundle install
1
2
3Bundler installerà le gem specificate nel
Gemfile
del progetto, basandosi sulla versione di Ruby attiva (2.7.x).
Se hai un altro progetto che richiede Ruby 3.4, ti basterà impostare RUBY_VERSION=3.4
nel file .servbay.config
corrispondente: ServBay cambierà automaticamente ambiente quando cambi cartella.
Integrazione con web server (Rails, Sinatra ecc.)
Per applicazioni web basate su Ruby on Rails, Sinatra o altri framework, generalmente si utilizzano application server come Puma, Unicorn o Thin. Puoi:
- Creare un nuovo Sito web (Website) in ServBay per la tua applicazione.
- Configurare il web server di ServBay (Nginx, Caddy, Apache) come proxy inverso, in modo da inoltrare le richieste provenienti da uno specifico dominio alla porta su cui il server Ruby è in ascolto (es.
http://localhost:3000
o l’unix socket usato da Puma/Unicorn).
In questa configurazione potrai usufruire di gestione domini integrata, HTTPS automatico (se configurato) e un unico punto d’accesso forniti da ServBay.
Conclusioni
ServBay semplifica notevolmente lo sviluppo Ruby su macOS. Grazie a un sistema di gestione pacchetti intuitivo e al potente controllo delle versioni a livello di progetto offerto da .servbay.config
, puoi amministrare agevolmente più versioni di Ruby e relativi Gem, garantendo isolamento e coerenza tra gli ambienti dei tuoi progetti. Tutto ciò per rendere più efficiente e produttivo il tuo sviluppo con Ruby.