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

Available interpreters in Debian 10 (buster)

Interprete

Pacchetto

Note

MRI 2.5.5

ruby2.5

JRuby 9.1.17

jruby

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

  1. BalasankarC/DebianRuby
  2. BalasankarC/DebianRuby/Packaging
  3. BalasankarC/DebianRuby/Packaging/Conventions
  4. BalasankarC/DebianRuby/Packaging/TestFailures
  5. BalasankarC/DebianRuby/Packaging/Tests
  6. Packaging/ruby-team-meta-build
  7. ReproducibleBuilds/TimestampsInRubyDocumentation
  8. Ruby
  9. Ruby/Packaging/Tests
  10. Ruby/Packaging/newUpstreamRailsApp
  11. SummerOfCode2020/ApprovedProjects/UpstreamDownstreamCooperationInRuby
  12. SummerOfCode2020/UnApprovedProjects/UpstreamDownstreamCooperationInRuby
  13. Teams/DebianRubyExtras
  14. Teams/Ruby
  15. Teams/Ruby/CrossBuilding
  16. Teams/Ruby/Drafts/StateOfTransitionNewPolicy
  17. Teams/Ruby/Drafts/StateOfTransitionNewPolicyReleaseTeam
  18. Teams/Ruby/Drafts/SwitchToOneNine
  19. Teams/Ruby/IRCMeetings
  20. Teams/Ruby/InterpreterTransitions
  21. Teams/Ruby/Jessie
  22. Teams/Ruby/Meeting/Brazil2016
  23. Teams/Ruby/Meeting/Paris2014
  24. Teams/Ruby/Meeting/Paris2015
  25. Teams/Ruby/Meeting/Paris2015/Report
  26. Teams/Ruby/Meeting/Paris2020
  27. Teams/Ruby/Packaging
  28. Teams/Ruby/Packaging/Conventions
  29. Teams/Ruby/Packaging/Obsolete
  30. Teams/Ruby/Packaging/RailsEngines
  31. Teams/Ruby/Packaging/Tests
  32. Teams/Ruby/Packaging/TransitionsPrimer
  33. Teams/Ruby/Packaging/gem2deb
  34. Teams/Ruby/Packaging/newUpstreamRailsApp
  35. Teams/Ruby/Packaging/origsource
  36. Teams/Ruby/RSpec3
  37. Teams/Ruby/Rails3
  38. Teams/Ruby/Rails3 (foo.tar.gz)
  39. Teams/Ruby/Rails3 (testapp.tar.gz)
  40. Teams/Ruby/Rails4.2
  41. Teams/Ruby/Rails6
  42. Teams/Ruby/Rails6/DependenciesTransition
  43. Teams/Ruby/Rails6/RailsBreakingChanges
  44. Teams/Ruby/Rails6/ReverseDependenciesTransition
  45. Teams/Ruby/Ruby2.2
  46. Teams/Ruby/RubyExtras
  47. Teams/Ruby/RubyExtras/OnRubygems
  48. Teams/Ruby/RubyExtras/Ruby19Porting
  49. Teams/Ruby/RubyExtras/RubyPackageTools
  50. Teams/Ruby/RubyExtras/UpstreamDevelopers
  51. Teams/Ruby/RubyInWheezy
  52. Teams/Ruby/Salsa
  53. Teams/Ruby/UpstreamPledge
  54. Teams/Ruby/Workflow
  55. Teams/Ruby/ruby2.5
  56. it/Ruby
  57. ja/Ruby