web-dev-qa-db-ja.com

rvmを使用してRuby 1.9.2-p0を最新のパッチレベルにアップグレードするにはどうすればよいですか?

現在のバージョンRubyはRuby 1.9.2p0 (2010-08-18 revision 29036) [x86_64-darwin10.5.0]ですが、rvmを使用して最新のパッチレベルに更新したいのですが、どうすればよいですか?

113
Lan

まず、rvm get stableを実行してRVMインストールを更新します。

新しいRVMバージョンを実行していることを確認するには、rvm reloadを実行する必要があります(または単に新しいターミナルを開きます)。

完了したら、rvm list knownを実行して、RVMにインストール可能なRubyバージョンをリストするように依頼できます。

出力に次のように表示されます。

# MRI Rubies
...
[Ruby-]1.9.2[-p320]
...

パッチレベルを囲む角括弧は、これが現在RVMのRuby 1.9.2。

最後に、新しいRuby=バージョンをインストールするには、単にrvm install 1.9.2を実行し、コンパイルするのを待ちます!

160
npad

アップグレードRubyインタープリターand既存のgemsetを保持:

$ rvm upgrade 1.9.2-p0 1.9.2
Are you sure you wish to upgrade from Ruby-1.9.2-p0 to Ruby-1.9.2-p136? (Y/n): Y

1.9.2の最新の安定リリースに置き換える。これにより、混乱が回避されます。

コメント(@ Mauro、@ James、@ ACB)のおかげで、さらに役立つヒント

$ rvm list known
# NOTE: you probably want to upgrade your rvm first, as the list of known rubies seems to be coupled to the rvm version.
$ rvm get stable
$ rvm list known #pick your Ruby
94
oma

最初のRVMの更新:

rvm get stable

次に、Rubyバージョン:

rvm upgrade 2.0.0

すべての質問に対して「はい」を選択します。

Are you sure you wish to upgrade from Ruby-2.0.0-p195 to Ruby-2.0.0-p247? (Y/n): Y
Are you sure you wish to MOVE gems from Ruby-2.0.0-p195 to Ruby-2.0.0-p247?
This will overwrite existing gems in Ruby-2.0.0-p247 and remove them from Ruby-2.0.0-p195 (Y/n): Y
Do you wish to move over aliases? (Y/n): Y
Do you wish to move over wrappers? (Y/n): Y
Do you also wish to completely remove Ruby-2.0.0-p195 (inc. archive)? (Y/n): Y

Gemを最新バージョンに更新する場合は、次のことができます。

rvm all do gem update

編集:Ruby 2.0.0(Ruby-2.0.0-p195からRuby-2.0.0-p353に更新しました)の最新バージョンに対して、今日これを行いました。その後、これは、gemがRuby-2.0.0-p195用にインストールされており、その一部がp353と互換性がないために発生します。

これで、互換性のないgemを探してみることができますが、最も簡単な解決策は、インストールされているすべてのgemを削除して、それらを再度インストールすることでした。 gems/Ruby-2.0.0-p353にある/usr/local/rvmディレクトリを削除しました。それはあなたにとってどこか別の場所かもしれません。

次にgem install bundlerを実行し、それぞれのRails行ったアプリbundle install

34
Viktor Fonic

このような:

rvm update; rvm reload
rvm install Ruby-1.9.2-p136 
rvm --default Ruby-1.9.2-p136
14
Amer

wiki のページに従って、任意のパッチレベルをインストールできます。

また、各Rubyは独立しているため、実際に「gemをアップグレードして保持する」のではなく、新しいパッチバージョンをインストールしてから、その新しいRuby環境。

これは宝石セットが出てくるかもしれませんが、私はそれらを使用しません。

しばらくしていた場合に備えて、rvmも更新することを忘れないでください。

2
pjammer

npadの答えは間違いなく基本を説明しているので、これらの手順を繰り返すことはしませんが、rvm upgrade。 rvmがオプションを提供することは知っていますが、それは少し危険なものです。

IMO、より安全で「rvmの方法」は最初にrvm install新しいRubyバージョン、次にrvm gemset copyコマンドをgemsetを新しいRubyバージョン、たとえばrvm gemset copy 1.9.2-p0@some-gemset 1.9.2-p290@some-gemset。その後、新しくコピーしたgemsetを使用するようにプロジェクトを簡単に切り替えることができます(.rvmrcファイルをプロジェクトディレクトリに保存し、コードが失敗するかどうかを確認します。もしそうなら、古いRubyバージョンに戻すのは、gemsetを切り替えるだけです。

ただし、gemsetsを使用しない場合でも(この質問でRailsとタグ付けしたため)使用すると想定していますが、rvm upgradeは、予期しないエラーにつながる可能性があります。また、コードが破損した場合、古いバージョンを再度再インストールする必要があります。もう少し時間をかけて、きれいにしましょう。

2
poetmountain

このブログ投稿は役立つはずです: http://pogodan.com/blog/2011/09/06/Ruby-1-9-3-for-development

必需品:

rvm get head
rvm reload

wget https://Gist.github.com/raw/1008945/4edd1e1dcc1f0db52d4816843a9d1e6b60661122/Ruby-1.9.2p290.patch
rvm install Ruby-1.9.2-p290 --patch Ruby-1.9.2p290.patch -n patched
1
Dawid Woźniak

rvm install 1.9.2-headと思います

rvm list knownで利用可能なルビーを見ることができます

1
Heikki