Cài đặt ruby ​​2.2.3 qua apt


16

Làm cách nào để cài đặt Ruby 2.2.3 qua apt trên Ubuntu Wily? Tôi đã thử sudo apt-get install ruby2.2-devsudo apt-get install ruby2.2(sự khác biệt là gì, btw) và cả hai lệnh dường như đã cài đặt khá nhiều. Tuy nhiên, không có ruby ​​thực thi sau đó.


Bạn hoàn toàn cài đặt muốn cài đặt ruby ​​2.2.3 qua apt? Gói * -dev chứa các tiêu đề và tệp * có thể cần hoạt động chính xác. kiểm tra ruby-lang.org chính thức, nó chứa thông tin bạn cần để cài đặt ruby ​​2.2.3 một cách chính xác
enzo

vui lòng tham khảo nếu nó hữu ích [ gorails.com/setup/ubfox/15.10]
Ravan

1
@maetsoh Tại sao tôi sẽ cài đặt mọi gói với apt, ngoại trừ ruby? Tôi thích quản lý gói.
Michiel de Mare

Ruby có phải là một phần của cơ chế "thay thế" trên Ubuntu không? Nếu không, có thể đáng để sử dụng một cái gì đó như rbenv để quản lý các cài đặt Ruby. Đặc biệt nếu bạn cần sử dụng các phiên bản khác nhau của Ruby cùng một lúc. Liên kết mềm có thể gây ra một chút mệt mỏi khi thực hiện phát triển Rails, v.v.

Tôi sử dụng rbenv cục bộ để chuyển đổi các phiên bản, vì vậy nó đáng để gặp rắc rối. Nhưng khi sản xuất tôi chỉ cần 1 phiên bản ruby, và sau đó tôi thích trình quản lý gói tiêu chuẩn. Tôi sẽ đọc về cơ chế "thay thế". ( manpages.ubfox.com/manpages/vivid/en/man8/ mẹo )
Michiel de Mare

Câu trả lời:


7

apt-get install ruby2.2không cung cấp cho bạn một ruby ​​thực thi - nó chỉ được gọi là ruby2.2. Gem và irb là như nhau (nghĩa là gem2.2 install bundlersẽ hoạt động, irb2.2sẽ cung cấp cho bạn lời nhắc irb.)

Điều này là bình thường trong Ubuntu và hệ thống thay thế thường có nghĩa là bạn không cần phải quan tâm đến nó, nhưng vì bất kỳ lý do gì, ruby ​​không được quản lý bởi các lựa chọn thay thế trong Ubuntu. Nhưng chúng ta có thể làm được:

sudo update-alternatives --install /usr/bin/ruby ruby /usr/bin/ruby2.2 400 \
 --slave /usr/bin/rake rake /usr/bin/rake2.2 \
 --slave /usr/bin/ri ri /usr/bin/ri2.2 \
 --slave /usr/bin/rdoc rdoc /usr/bin/rdoc2.2 \
 --slave /usr/bin/gem gem /usr/bin/gem2.2 \
 --slave /usr/bin/irb irb /usr/bin/irb2.2 \
 --slave /usr/share/man/man1/ruby.1.gz ruby.1.gz /usr/share/man/man1/ruby2.2.1.gz \
 --slave /usr/share/man/man1/rake.1.gz rake.1.gz /usr/share/man/man1/rake2.2.1.gz \
 --slave /usr/share/man/man1/ri.1.gz ri.1.gz /usr/share/man/man1/ri2.2.1.gz \
 --slave /usr/share/man/man1/rdoc.1.gz rdoc.1.gz /usr/share/man/man1/rdoc2.2.1.gz \
 --slave /usr/share/man/man1/gem.1.gz gem.1.gz /usr/share/man/man1/gem2.2.1.gz \
 --slave /usr/share/man/man1/irb.1.gz irb.1.gz /usr/share/man/man1/irb2.2.1.gz

Chạy này sẽ đăng ký ruby ​​với hệ thống thay thế và, vì chỉ có một lựa chọn, được đặt ruby 2.2làm mặc định. Điều này sẽ tạo liên kết tượng trưng và cho phép bạn sử dụng ruby/ gem/ vv mà không cần thêm 2.2 vào cuối.

Đây là phiên bản cập nhật của các hướng dẫn được tìm thấy tại https://leonard.io/blog/2012/05/installing-ruby-1-9-3-on-ubfox-12-04-precise-pengolin/


cập nhật thay thế: lỗi: đá quý thay thế không thể là nô lệ của ruby: đó là một thay thế chính
Yevgen Kulik

17

Ok, điều này làm việc cho tôi ít nhất là sinh động:

sudo apt-add-repository ppa:brightbox/ruby-ng
sudo apt-get update
sudo apt-get install ruby2.2 ruby2.2-dev

Trên wily, tôi gặp lỗi vì URL http://ppa.launchpad.net/brightbox/ruby-ng/ubuntu/dists/wily/main/binary-amd64/bị thiếu, chỉ có http://ppa.launchpad.net/brightbox/ruby-ng/ubuntu/dists/devel/main/binary-amd64/.


tương tự trên debian jessie: /
holms 5/10/2016
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.