2010-09-14 35 views
9

Tôi thực sự bối rối bởi những giải thích được đưa ra trong trang web RVM. Mối quan hệ giữa những người giải thích ruby ​​và đá quý khác nhau không rõ ràng với tôi. Theo tôi, nó là như thế này -Làm thế nào để quản lý nhiều phiên bản đá quý và ruby ​​với RVM?

  1. Tài khoản của tôi trong máy Mac của tôi có một RVM
  2. Đó RVM cài đặt và quản lý thiết lập các phiên bản khác nhau của interpretors ruby.
  3. mỗi phiên bản ruby ​​có bộ đá quý.

Tôi hiểu rõ mọi thứ ... Bất kỳ số lượng giải thích nào cũng được hoan nghênh. Tôi đang ở vị trí để làm việc (Ruby 1.8.7 + đường ray 2.3.8 và các phụ thuộc của nó) và (Ruby 1.9.2 và Rails 3.0 và các phụ thuộc của nó) ...

Nếu có ai xử lý tốt nhiều phiên bản ruby ​​và gemsets với sự giúp đỡ của RVM, xin vui lòng giải thích cho tôi ... cảm ơn vì sự giúp đỡ

Trả lời

17

Dưới đây là cách tôi muốn làm điều đó ...

  1. Cài đặt một viên hồng ngọc với RVM
  2. Chuyển sang/sử dụng ruby ​​
  3. Tạo đá quý cho dự án
  4. Đổi/sử dụng mà gemset
  5. Cài đặt đá quý cần
  6. tạo một bí danh trỏ đến ruby ​​tôi chọn & gemset
  7. chuyển sang/sử dụng mà bí danh mới (một lần nữa, liên quan đến w/một dự án)

Thực hiện việc này nhiều lần cần thiết cho các dự án khác nhau mà bạn muốn tách biệt với nhau.

Ví dụ:

$ rvm install ruby-1.9.2 
... 
$ rvm list 

rvm rubies 

=> ree-1.8.7-head [ i386 ] 
    ruby-1.9.2-head [ i386 ] 
    ruby-1.9.2-preview3 [ i386 ] 

$ rvm use ruby-1.9.2-preview3 

info: Using ruby 1.9.2 preview3 
$ rvm gemset create my_project 

info: Gemset 'my_project' created. 
rvm gemset use my_project 

info: Now using gemset 'my_project' 
$ gem install httparty 
When you HTTParty, you must party hard! 
Successfully installed crack-0.1.8 
Successfully installed httparty-0.6.1 
2 gems installed 
$ rvm alias create my_project [email protected]_project 

info: Creating alias my_project for [email protected]_project. 

info: Recording alias my_project for [email protected]_project. 
$ rvm use my_project 

info: Using ruby 1.9.2 preview3 with gemset my_project 
$ .... 

Bây giờ tôi có toàn bộ một môi trường dành riêng cho một dự án cụ thể. Điều này là tuyệt vời bởi vì tôi có thể thử nghiệm với tất cả các loại đá quý/phiên bản khác nhau mà không phải lo lắng về việc dẫm lên tất cả các dự án khác có yêu cầu rất cụ thể.

Chúc may mắn!

+0

nếu tôi đi và làm việc trong một gemset khác, những đá quý được cài đặt trong hệ thống của tôi hoặc những người được cài đặt trong các loại đá quý khác không có sẵn ... phải không ?? – Anand

+0

Cảm ơn một tấn Brian - Tôi hoàn toàn hiểu bây giờ - công việc và khái niệm gemset ... cảm ơn rất nhiều lần nữa – Anand

+0

Vui vì nó đã giúp. Nó đã cho tôi một chút để 'làm cho nó' là tốt. Bây giờ, tôi không thể sống mà không có nó ... Mà nhắc tôi, tôi có lẽ nên đi tặng cho dự án RVM ... – Brian

1

Để thêm vào câu trả lời của Brian ở trên, bạn cũng có thể sử dụng các tệp .rvmrc để tự động chuyển đổi các dấu đầu dòng khi nhập thư mục dự án mới.

hãy chạy lệnh sau:

rvm rvmrc create [email protected]_project 

Điều này sẽ giúp ngăn chặn sự nhầm lẫn mà tôi đã có khi chuyển đổi và quên thay đổi gemsets

CẬP NHẬT file .rvmrc đang trong quá trình bị giảm cho tệp .ruby phiên bản mới hơn xem thảo luận tại đây: https://gist.github.com/fnichol/1912050

Các vấn đề liên quan