Traduzioni: English - Italiano - Japanese


Ruby in Debian

Questa pagina documenta come installare e usare Ruby in Debian Wheezy. Per informazioni sullo sviluppo dei pacchetti Ruby in Debian, vedere la pagina del Team di Ruby.

Questa pagina è disponibile anche attraverso l'URL accorciato http://deb.li/ruby

Interpreti disponibili in Debian 8 (jessie)

Interprete

Pacchetto

Note

MRI 2.1.5

ruby2.1

JRuby 1.5.6

jruby

Sfortunatamente Rubinius è stato inserito in jessie.

Dato che non ci sono alternative (MRI) tra cui scegliere, la gestione di update-alternatives è stata rimossa. (Una spiegazione più dettagliata sulla rimozione delle alternative può essere trovata in https://lists.debian.org/debian-ruby/2014/03/msg00077.html e https://lists.debian.org/debian-project/2014/02/msg00028.html )

Interpreti disponibili in Debian 7 (wheezy)

In Debian Wheezy sono disponibili i seguenti interpreti Ruby:

Interprete

Pacchetto

Note

MRI 1.8.7

ruby1.8

MRI 1.9.3

ruby1.9.3

JRuby

jruby

Rubinius

rubinius

Lavoro in corso, di fatto non ancora disponibile

È possibile passare da un interprete Ruby ad uno diverso come programma "ruby" predefinito usando update-alternatives. Ma quando si cambia "ruby", probabilmente si vorrà cambiare anche i programmi predefiniti per "gem", "irb", ecc., perciò esistono scorciatoie per cambiare tutti contemporaneamente.

Selezionare l'interprete Ruby predefinito a livello di sistema (wheezy)

Nota: le istruzioni di seguito usano il comando "rbenv alternatives", che non è disponibile in Debian jessie.

Per selezionare l'interprete Ruby predefinito a livello di sistema, si può usare il pacchetto ruby-switch. Questo deve essere fatto come utente root (o con sudo).

# ruby -v
ruby 1.8.7 (2011-06-30 patchlevel 352) [x86_64-linux]
# ruby-switch --list
ruby1.8
ruby1.9.1
# ruby-switch --set ruby1.9.1
update-alternatives: using /usr/bin/gem1.9.1 to provide /usr/bin/gem (gem) in manual mode.
update-alternatives: using /usr/bin/ruby1.9.1 to provide /usr/bin/ruby (ruby) in manual mode.
# ruby -v
ruby 1.9.3p0 (2011-10-30 revision 33570) [x86_64-linux]
# ruby-switch --auto
update-alternatives: using /usr/bin/ruby1.8 to provide /usr/bin/ruby (ruby) in auto mode.
update-alternatives: using /usr/bin/gem1.8 to provide /usr/bin/gem (gem) in auto mode.
# ruby -v
ruby 1.8.7 (2011-06-30 patchlevel 352) [x86_64-linux]

Selezionare l'interprete Ruby predefinito a livello di singolo utente

Per selezionare l'interprete Ruby predefinito per uno specifico account utente, si dovrebbe usare il pacchetto rbenv:

$ ruby -v
ruby 1.8.7 (2011-06-30 patchlevel 352) [x86_64-linux]
$ rbenv init 
# Caricare rbenv automaticamente aggiungendo
# quanto segue al file ~/.bash_profile:

eval "$(rbenv init -)"
$ echo 'eval "$(rbenv init -)"' >> ~/.bash_profile # o ~/.bashrc, a seconda della propria configurazione
$ rbenv versions
$ rbenv alternatives 
$ rbenv versions
  1.8.7-debian
  1.9.3-debian
$ rbenv global 1.9.3-debian 
$ ruby -v
ruby 1.8.7 (2011-06-30 patchlevel 352) [x86_64-linux]

Sembra che non abbia funzionato, ma ciò accade perché la shell attuale ha già in cache /usr/bin/ruby come posizione di "ruby". Dopo aver avviato una nuova shell, si potrà cambiare il programma ruby predefinito a proprio piacere:

$ ruby -v
ruby 1.8.7 (2011-06-30 patchlevel 352) [x86_64-linux]
$ rbenv global 1.9.3-debian 
$ ruby -v
ruby 1.9.3p0 (2011-10-30 revision 33570) [x86_64-linux]
$ rbenv global 1.8.7-debian 
$ ruby -v
ruby 1.8.7 (2011-06-30 patchlevel 352) [x86_64-linux]

Installare versioni di Ruby non pacchettizzate in Debian

Si può usare il pacchetto ruby-build per installare interpreti Ruby che non sono disponibili in Debian. Notare, tuttavia, ciò che è scritto nel file README.Debian del pacchetto:

Altre pagine del wiki relative a Ruby