Đối bóp Debian (6.0):
Đầu tiên đảm bảo gỡ cài đặt tất cả các gói ruby và ruby1.8. Nếu không, họ sẽ can thiệp vào các tệp nhị phân/liên kết sắp được thiết lập cho ruby 1.9.
Sau đó cài đặt gói ruby 1.9. Mặc dù các gói này có tên '1.9.1' nhưng chúng thực sự cài đặt phiên bản ruby 1.9.2 trên Debian squeeze. Gói ảo ruby1.9.1-full
sẽ cài đặt tất cả các gói cần thiết cho ruby:
sudo aptitude install ruby1.9.1-full
Thêm liên kết thay thế cho ri và manpage trong gói ri1.9.1. (Hai dòng này là tất cả một lệnh.)
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
Thêm liên kết thay thế cho ruby, tệp nhị phân liên kết và trang con người trong gói ruby1.9.1. (Những dòng này là tất cả một lệnh.)
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
Lưu ý rằng đây là tất cả được lắp đặt tại một ưu tiên thay thế thấp của 10 (phần cuối cùng sau khi --install
cờ nhưng trước khi --slave
cờ). Điều này được thực hiện với hy vọng rằng các phiên bản tương lai của Debian sẽ bao gồm cả ruby 1.8 và ruby 1.9 như là một phần của hệ thống thay thế và ghi đè lên các liên kết này.
Kiểm tra ri trong hệ thống lựa chọn:
update-alternatives --display ri
Kết quả:
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'.
Kiểm tra ruby trong hệ thống lựa chọn:
update-alternatives --display ruby
Kết quả:
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'.
Xem câu hỏi này: http://stackoverflow.com/questions/1892877/how-do-i-make-ruby-1-9-the-default-ruby-on-ubuntu – weakish