Dla Debian Squeeze (6,0):
Pierwszy pamiętaj o odinstalowaniu wszystkich pakietów ruby i ruby1.8. W przeciwnym razie będą ingerować w pliki binarne/linki, które mają zostać ustawione dla Rubiego 1.9.
Następnie zainstaluj pakiety ruby 1.9. Pomimo tego, że te pakiety nazywają się "1.9.1", faktycznie instalują wersję Rubin 1.9.2 w systemie Debian squeeze. Pakiet wirtualny ruby1.9.1-full
zainstaluje wszystkie pakiety niezbędne dla Ruby:
sudo aptitude install ruby1.9.1-full
Dodaj alternatywne linki do ri i podręcznika w pakiecie ri1.9.1. (Te dwie linie są jedno polecenie.)
sudo update-alternatives --install /usr/bin/ri ri /usr/bin/ri1.9.1 10 \
--slave /usr/share/man/man1/ri.1.gz ri.1.gz /usr/share/man/man1/ri1.9.1.1.gz
Dodaj alternatywnych połączeń Ruby, związane binarne i podręczniki, w opakowaniu ruby1.9.1. (Te linie to jedno polecenie.)
sudo update-alternatives --install /usr/bin/ruby ruby /usr/bin/ruby1.9.1 10 \
--slave /usr/share/man/man1/ruby.1.gz ruby.1.gz /usr/share/man/man1/ruby1.9.1.1.gz \
--slave /usr/bin/erb erb /usr/bin/erb1.9.1 \
--slave /usr/bin/gem gem /usr/bin/gem1.9.1 \
--slave /usr/bin/irb irb /usr/bin/irb1.9.1 \
--slave /usr/bin/rake rake /usr/bin/rake1.9.1 \
--slave /usr/bin/rdoc rdoc /usr/bin/rdoc1.9.1 \
--slave /usr/bin/testrb testrb /usr/bin/testrb1.9.1 \
--slave /usr/share/man/man1/erb.1.gz erb.1.gz /usr/share/man/man1/erb1.9.1.1.gz \
--slave /usr/share/man/man1/gem.1.gz gem.1.gz /usr/share/man/man1/gem1.9.1.1.gz \
--slave /usr/share/man/man1/irb.1.gz irb.1.gz /usr/share/man/man1/irb1.9.1.1.gz \
--slave /usr/share/man/man1/rake.1.gz rake.1.gz /usr/share/man/man1/rake1.9.1.1.gz \
--slave /usr/share/man/man1/rdoc.1.gz rdoc.1.gz /usr/share/man/man1/rdoc1.9.1.1.gz \
--slave /usr/share/man/man1/testrb.1.gz testrb.1.gz /usr/share/man/man1/testrb1.9.1.1.gz
Zauważ, że wszystkie one są zainstalowane na niskim priorytecie alternatywnym 10 (ostatniej części po fladze --install
ale przed --slave
flagi). Robi się to z nadzieją, że przyszłe wersje Debiana będą zawierały zarówno ruby 1.8, jak i ruby 1.9 jako część systemu alternatyw i zastępują te linki.
Sprawdź ri w systemie alternatyw:
update-alternatives --display ri
Rezultat:
ri - auto mode
link currently points to /usr/bin/ri1.9.1
/usr/bin/ri1.9.1 - priority 10
slave ri.1.gz: /usr/share/man/man1/ri1.9.1.1.gz
Current 'best' version is '/usr/bin/ri1.9.1'.
Sprawdź rubin w systemie alternatyw:
update-alternatives --display ruby
Rezultat:
ruby - auto mode
link currently points to /usr/bin/ruby1.9.1
/usr/bin/ruby1.9.1 - priority 10
slave erb: /usr/bin/erb1.9.1
slave erb.1.gz: /usr/share/man/man1/erb1.9.1.1.gz
slave gem: /usr/bin/gem1.9.1
slave gem.1.gz: /usr/share/man/man1/gem1.9.1.1.gz
slave irb: /usr/bin/irb1.9.1
slave irb.1.gz: /usr/share/man/man1/irb1.9.1.1.gz
slave rake: /usr/bin/rake1.9.1
slave rake.1.gz: /usr/share/man/man1/rake1.9.1.1.gz
slave rdoc: /usr/bin/rdoc1.9.1
slave rdoc.1.gz: /usr/share/man/man1/rdoc1.9.1.1.gz
slave ruby.1.gz: /usr/share/man/man1/ruby1.9.1.1.gz
slave testrb: /usr/bin/testrb1.9.1
slave testrb.1.gz: /usr/share/man/man1/testrb1.9.1.1.gz
Current 'best' version is '/usr/bin/ruby1.9.1'.
Zobacz to pytanie: http://stackoverflow.com/questions/1892877/how-do-i-make-ruby-1-9-the-default-ruby-on-ubuntu – weakish