2010-07-29 21 views
55

Tôi đã cài đặt RVM với một vài phiên bản Ruby-interpreters một thời gian trước đây. Làm thế nào tôi có thể cập nhật nó, bởi vì các phiên bản mới đã được phát hành?Làm cách nào để cập nhật thông dịch viên Ruby với RVM?

Tôi chỉ tìm thấy một cách: rvm install 1.9.2-rc1 && rvm remove 1.9.2-preview1, nhưng đá quý của tôi bị mất. Tôi có thể cập nhật các chi nhánh theo thời gian không? Tôi chưa tìm thấy bất kỳ mẹo nào trong tài liệu.

+2

Bạn có thể thay đổi câu trả lời được chấp nhận vì lệnh nâng cấp rvm không? – joelparkerhenderson

Trả lời

19

phiên bản RVM hiện này cung cấp một cách dễ dàng hơn để làm điều này. Các tùy chọn 'nâng cấp' sẽ di chuyển bộ đá quý, giấy gói và các tập tin môi trường -

$ rvm upgrade 1.9.2-p136 1.9.2-p180 

Để tìm hiểu nếu có một phiên bản ổn định gần đây của một thi ruby ​​để bạn có thể nâng cấp lên, lần đầu tiên có được phiên bản mới nhất của RVM và sau đó liệt kê các phiên bản đã biết của Ruby.

$ rvm get stable 
$ rvm list known 

Bạn có thể so sánh này các phiên bản ruby ​​được cài đặt trên hệ thống của bạn

$ rvm list rubies 
+6

Để xem các phiên bản Ruby sau, (có vẻ như phiên bản đầu tiên phải) chạy 'rvm nhận được ổn định'. – MarkDBlackwell

25

[Edit: RVM có lệnh mới để upgrade-- bạn có thể muốn sử dụng các câu trả lời bằng andy318]

AFAIK, không có cách nào tự động để làm điều này vào lúc này, nhưng một cái gì đó như thế này cho phép bạn để giữ viên ngọc của bạn:

rvm use 1.9.2-preview1 
rvm gemset export 
rvm install 1.9.2-rc1 
rvm use 1.9.2-rc1 
rvm gemset import 
rvm remove 1.9.2-preview1 

Bây giờ, để tự động cập nhật, bạn sẽ phải phát hiện những thay đổi phiên bản, đó là dễ dàng, vì bạn chỉ có thể sử dụng giá trị trở lại của rvm use 1.9.2. Tìm hiểu xem phiên bản mới là gì (1.9.2-rc1) là không cần thiết vì nó được đặt tên là 1.9.2. Bí quyết là tìm phiên bản mới nhất được cài đặt 1.9.2. Bạn có thể làm điều gì đó như thế này trong một công việc cron:

# make sure you source rvm first 
rvm update --head 
rvm reload 
if [ ! rvm use 1.9.2 ]; then 
    for ruby_version in `rvm list strings`; do 
    # find the latest version of 1.9.2 
    case $ruby_version in 
     ruby-1.9.2-*) latest192=$ruby_version;; 
    esac 
    done 
    rvm use $latest192 
    rvm gemset export 192.gems 
    rvm install 1.9.2 
    rvm use 1.9.2 
    rvm gemset import 192 
    rvm remove $latest192 
fi 

Không thử điều đó, nhưng tôi có mã tương tự trong tập lệnh cập nhật của mình. Tôi cũng bị trượt trong một số gem update và các nội dung khác.

Hãy truy cập kênh IRC#rvm trên Freenode.

+2

Thay vào đó hãy sử dụng nâng cấp rvm, xem bên dưới. – gucki

83

Sử dụng lệnh rvm upgrade 1.9.2-preview1 1.9.2-rc1 hoặc xem screencast

+0

điều gì sẽ xảy ra với gemets của tôi là 1.9.2-preview1 – Anand

+2

theo 'rvm help upgrade':' Sẽ di chuyển gemets, wrappers, aliases và các tệp môi trường.' – asymmetric

+0

Ngoài ra, các phiên bản hiện tại của nâng cấp RVM theo thứ tự mong muốn 'rvm nâng cấp [nguồn ruby] [điểm đến của ruby] '. Wayne cố định rằng :) – Abel

-1

Tôi nghĩ đó là:

rvm all do gemset update 
2

Có một RVM GUI tuyệt vời gọi là JewelryBox mà tôi sử dụng để quản lý của tôi Phiên bản Ruby

http://jewelrybox.unfiniti.com

+0

Sau khi đọc, tôi đã kiểm tra https://rvm.io/ và JewelryBox được tuyên bố là ** RVM GUI ** chính thức (chỉ dành cho người dùng OS X). Đây là một sự giúp đỡ thực sự, cảm ơn bạn. – cenk

3

bạn có thể cài đặt rvm mới nhất và ruby ​​theo:

$ \ curl -L https://get.rvm.io | bash -s ổn định --ruby

và rà soát tất cả các phiên bản ruby ​​với sự ổn định

danh sách $ RVM biết

cũng có thể kiểm tra chi tiết ở đây: http://www.ruby-lang.org/en/downloads/

$ RVM cài đặt ruby ​​2.0.0-p247

Sử dụng khi bạn muốn tải xuống phiên bản cụ thể hoặc biết điều này là ổn định.

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