Debian Squeeze ist der offizielle Entwickler Codename für Debian 6.0. Um mit Debian Squeeze Ruby 1.9.2 einzusetzen, sind einige Handgriff notwendig, die ich in diesem Artikel beschreibe.

Standardmässig wird Debian so eingerichtet, dass Ruby 1.8.7 verwendet werden kann. Mit dieser Anleitung erhaltet ihr ein System für den Einsatz von Ruby 1.9.2 mit rubygems, bundler und rake.

Installation der benötigten Debian Pakete

apt-get install ruby1.8 ruby1.8-dev ruby1.9.1 ruby1.9.1-dev irb1.8 irb1.9.1 ri1.8 ri1.9.1 rubygems1.8

Zur Info: in den Paketen mit der Version 1.9.1 versteckt sich die Ruby Version 1.9.2

Entfernen nicht benötigter Debian Pakete

Das Debian Pakt rake wird entfernt, da wir dieses über rubygems installieren werden.

apt-get remove rake

Konfiguration zur Umschaltung von Ruby 1.8 auf 1.9.2

Zuerst richten wir mit Hilfe von update-alternatives ruby so ein, dass zwischen den Versionen 1.8 und 1.9.2 geswitched werden kann.

update-alternatives --install /usr/bin/ruby ruby /usr/bin/ruby1.8 180 \
--slave /usr/share/man/man1/ruby.1.gz ruby.1.gz /usr/share/man/man1/ruby1.8.1.gz \
--slave /usr/bin/ri ri /usr/bin/ri1.8 \
--slave /usr/bin/irb irb /usr/bin/irb1.8

update-alternatives --install /usr/bin/ruby ruby /usr/bin/ruby1.9.1 150 \
--slave /usr/share/man/man1/ruby.1.gz ruby.1.gz /usr/share/man/man1/ruby1.9.1.1.gz \
--slave /usr/bin/ri ri /usr/bin/ri1.9.1 \
--slave /usr/bin/irb irb /usr/bin/irb1.9.1

# Missing update-alternative for gem 1.9
update-alternatives --install /usr/bin/gem gem /usr/bin/gem1.9.1 150 \
--slave /usr/share/man/man1/gem.1.gz gem.1.gz /usr/share/man/man1/gem1.9.1.1.gz \
--slave /etc/bash_completion.d/gem bash_completion_gem /etc/bash_completion.d/gem1.9.1

Umschaltung von Ruby 1.8 zu Ruby 1.9.2

update-alternatives --config ruby
update-alternatives --config gem

Durch ausführen der beiden Befehle bekommen wir jeweils die Möglichkeit zu der bevorzugten Version zu wechseln. Dazu wird die Zahl ausgewählt, die als Durchnummerierung der Versionen gesetzt wird.

Zum Test, ob alles funktioniert hat, wird folgener Befehl ausgeführt:

ruby --version

liefert

ruby 1.9.2p0 (2010-08-18 revision 29036) [x86_64-linux]

Falls hier noch Version 1.8.7 ausgegeben wird, ist etwas schief gelaufen. In diesem Fall liest du noch mal Schritt für Schritt die Anleitung und versuchst den Fehler zu finden.

Bundler und Rake installieren

Um die beiden Programme zu installieren, ist folgender Befehl auszuführen:

gem install bundler rake

Für die Verwendung der Version 1.9.2 müssen folgende symbolischen Links angelegt werden, damit die Programme im “Pfad” liegen:

ln -fs /var/lib/gems/1.9.1/bin/bundle /usr/bin/bundle
ln -fs /var/lib/gems/1.9.1/bin/rake /usr/bin/rake

Will man zur Version 1.8.7 zurück wechseln, sind es folgende Befehle:

ln -s /var/lib/gems/1.8/bin/bundle /usr/bin/bundle
ln -s /var/lib/gems/1.8/bin/rake /usr/bin/rake

Das war es, nun steht dem performanten Einsatz eurer Ruby Anwendungen nichts mehr im Weg. Empfehlen kann ich den Einsatz von Ruby 1.9.2 für Redmine 2.x. Dies wird sich stark auf die Performance auswirken. Natürlich positiv! Wer Fragen zur Anleitung hat, ist aufgefordert diese über die nachfolgende Kommentarmöglichkeit zu stellen.

Aktualisiert: