Làm thế nào để cài đặt và sử dụng các phiên bản khác nhau của ruby?


15

Tôi đang học đường ray từ những cuốn sách khác nhau sử dụng các phiên bản khác nhau của cả ruby ​​và đường ray. Ngay bây giờ tôi đã cài đặt ruby ​​1.87 trên Mac OS X Snow Leopard (in /usr/bin), nhưng cũng cần sử dụng ruby ​​1.9 cho một ứng dụng rails khác.

Bất cứ ai có thể cho tôi biết làm thế nào để làm cho công việc này? Tôi chưa quen với điều này, vì vậy càng nhiều hướng dẫn càng tốt sẽ được đánh giá cao.

Câu trả lời:


20

Có hai "trình quản lý phiên bản Ruby" ngoài kia, bạn có thể chọn:

Những thứ này cho phép bạn giữ nhiều phiên bản của Ruby trên cùng một hệ thống. Khi bạn đã cài đặt trình quản lý phiên bản và cài đặt phiên bản Ruby của riêng mình, bạn sẽ không gặp rắc rối với Ruby và Đá quý của hệ thống, đó là lợi ích lớn nhất. Không còn nữa sudo! Không còn lỗi quyền và xung đột Gem.

Tôi nên chọn cái nào?

Cả hai đều làm điều tương tự, nhưng họ theo những triết lý khác nhau. Sự lựa chọn là tùy thuộc vào bạn.

Cá nhân tôi muốn giới thiệu rbenvcho đơn giản của nó. Tôi đã sử dụng nó từ nhiều năm và nó luôn hoạt động tốt. Trước đây tôi đã từng đề xuất RVM (và một phiên bản trước đó của câu trả lời này thực sự đã đề cập đến nó), nhưng tôi cảm thấy khó khăn hơn để tham gia.

Làm thế nào để tôi cài đặt chúng?

Nếu bạn chọn rbenv:

  • Làm theo hướng dẫn cài đặt
  • Tải về ruby-build
  • Chạy rbenv install x.x.xđâu x.x.xlà phiên bản (sử dụng rbenv install --listđể xem loại nào có sẵn
  • Chạy rbenv global x.x.xđể thay đổi phiên bản Ruby toàn cầu của bạn

Nếu bạn chọn RVM:

  • Sử dụng phương pháp cài đặt an toàn
  • Đọc hướng dẫn cài đặt - bạn có thể muốn cấu hình một người dùng
  • Sử dụng rvm list knownđể liệt kê các Rubies có sẵn và sau đó chạy rvm install x.x.xđể cài đặt một phiên bản cụ thể.
  • Sử dụng rvm use x.x.x --defaultđể thay đổi Ruby mặc định của bạn

1
Xem thêm rbenv .
dùng1686

@grawity Tại sao không đăng câu trả lời khác? Tốt để có lựa chọn thay thế, chưa thực sự nhìn vào rbenv.
slhck

cảm ơn rất nhiều, nó cũng giúp chuyển đổi giữa các phiên bản của Rails? những cuốn sách khác nhau tôi đang sử dụng sử dụng 3.05 (tôi nghĩ) và 3.1 và nó đang gây ra vấn đề ...
Michael

Tôi đã thử dòng cài đặt mà bạn đã viết (và cũng trên trang rvm) và nhận được thông báo lỗi: bash: dòng 152: git: lệnh không tìm thấy bash: dòng 154: git: lệnh không tìm thấy
Michael

Ah, bạn cần git, tất nhiên. Xin lỗi, tôi đã quên điều đó. Bạn có thể cài đặt Git bằng trình cài đặt OS X (chỉ cần chọn phiên bản mới nhất ở trên cùng).
slhck

7

Tôi nghĩ rằng rbenv xứng đáng ít nhất là câu trả lời của riêng mình.

Có một cuộc chiến không ngừng giữa những người hâm mộ rbenv và những người của RVM nhưng cá nhân tôi thích rbenv hơn rất nhiều. Như Sam Stephenson (tác giả) tuyên bố, rbenv nó chỉ quan tâm đến việc chuyển đổi các phiên bản Ruby (trái ngược với RVM, vốn còn nhiều hơn thế).

Trên OS X, thật dễ dàng để dùng thử. Chỉ cần làm theo các hướng dẫn cài đặt tuyệt vời trên trang Github (nếu bạn đã cài đặt Homebrew, về cơ bản nó chỉ là một brew install rbenv ruby-build).

Về việc chuyển đổi các phiên bản Rails, tôi đã từng viết một bài báo về điều mà tôi quan tâm cho bạn.


1
Dưới đây là một mô tả ngắn gọn về tác giả của rbenv về những khác biệt chính với RVM và lý do để chọn rbenv. Sự đơn giản của rbenv là lý do chính khiến tôi di cư khỏi RVM. Quản lý bộ đá quý dành riêng cho ứng dụng là IMO được thực hiện tốt hơn với Bundler - bạn không cần người quản lý phiên bản Ruby cho điều đó.
Joool Schulenklopper

Chính xác - quản lý các bộ đá quý dành riêng cho ứng dụng là công việc của Bundler . Tôi chưa bao giờ là một fan hâm mộ của đá quý gắn liền với người quản lý phiên bản.
Michael Trojanek
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.