web-dev-qa-db-ja.com

RubyインタープリターをRVMで更新するにはどうすればよいですか?

少し前に、いくつかのバージョンのRubyインタープリターを使用してRVMをインストールしました。新しいバージョンがすでにリリースされているため、どうすれば更新できますか?

私は1つの方法しか見つけませんでした:rvm install 1.9.2-rc1 && rvm remove 1.9.2-preview1、しかし私の宝石は失われます。ブランチを時々更新できますか?ドキュメントにヒントが見つかりませんでした。

57
mystdeim

現在のrvmバージョンでは、これを簡単に行うことができます。 「アップグレード」オプションは、gemセット、ラッパー、および環境ファイルを移行します-

$ rvm upgrade 1.9.2-p136 1.9.2-p180

アップグレードするためのRuby実装の最新の安定バージョンがあるかどうかを調べるには、最初にRVMの最新バージョンを取得してから、Rubyの既知のバージョンを列挙します。

$ rvm get stable
$ rvm list known

これをシステムにインストールされているRubyバージョンと比較できます

$ rvm list rubies
21
andy318

使用 rvm upgrade 1.9.2-preview1 1.9.2-rc1コマンドまたは監視 screencast

83
nihique

[編集:rvmにはアップグレードするための新しいコマンドがあります。おそらく、andy318による回答を使用したいでしょう]

現時点では、これを自動的に行う方法はありませんが、次のようにすると宝石を保持できます。

 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

更新を自動化するには、バージョンの変更を検出する必要があります。これは簡単です。戻り値rvm use 1.9.2。新しいバージョン(1.9.2-rc1)は1.9.2としてエイリアスされるため、不要です。トリックは、1.9.2の最新のインストールバージョンを見つけることです。 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

試しませんでしたが、更新スクリプトに同様のコードがあります。私はgem updateおよびその他のもの。

Freenodeの#rvm IRCチャンネルにアクセスしてください。

25

最新のrvmとRubyをインストールできます:

$\curl -L https://get.rvm.io | bash -s stable --Ruby

そして、すべてのRuby安定性のあるバージョンをチェックしてください

$ rvm list known

ここで詳細を確認することもできます: http://www.Ruby-lang.org/en/downloads/

$ rvm install Ruby 2.0.0-p247

特定のバージョンをダウンロードする場合、またはこれが安定していることがわかっている場合に使用します。

3
Jigar Bhatt

Ruby=バージョンを管理するために使用するJewelryBoxと呼ばれる素晴らしいRVM GUIがあります

http://jewelrybox.unfiniti.com

2
Adam Waite