15

ree がデフォルトの vm (Snow Leopard 上) である場合、rvm で ruby​​gems を更新するにはどうすればよいですか? 私がやっている:

$ rvm ree gem update --system

これにより、すべてがうまくいったように見えます。

Updating RubyGems
Updating rubygems-update
Successfully installed rubygems-update-1.3.7
Updating RubyGems to 1.3.7
Installing RubyGems 1.3.7
RubyGems 1.3.7 installed

[...]

RubyGems installed the following executables:
        /Users/douglassellers/.rvm/rubies/ree-1.8.7-2010.02/bin/gem

しかし、gem --version を実行すると、まだ 1.3.5 と表示されます。which gem が ree バージョンの gem を指すようにします。

rubygems を RVM で更新する方法を知っている人はいますか?

4

4 に答える 4

36

今、あなたはただすることができます:

rvm rubygems latest

または、本当に必要なRubygemsを定義することもできます。https://rvm.io/rubies/rubygems/

于 2011-09-12T07:15:36.423 に答える
18

問題は、最初のコマンド (または、そのコマンドに何を期待するか) だと思います。

$ rvm ree gem update --system

これは rvm に を under に渡すように指示しgem update --systemますgemree、その特定の Ruby インタープリターに切り替えることはありません。そのシェルで設定したインタープリターを引き続き使用します (デフォルトであるか、シェルセッションで以前に手動で切り替えたためか)。

例として、私のデフォルトのインタープリターは Ruby 1.9.2 です。このコマンドを渡すrvm 1.9.1 gem install ponyと、Pony gem が Ruby 1.9.1 用にインストールされます。ただし、インストールが完了した後もRuby 1.9.2を使用しています。と入力irbして試してみるとrequire 'pony'、読み込みエラーが発生します。を実行rvm 1.9.1して入力するとirb、Pony がインストールされ、正常にロードされます。

ブライアンがあなたの投稿へのコメントで言っているように、手動で切り替えることができますrvm use ree。または、最初のコマンドを次のように切り替えることもできます。

$ rvm ree
$ gem update --system
$ gem --version
于 2010-08-21T11:05:45.597 に答える
2

rvm は、次のようなものを使用するように提案しました。

rvm ruby-1.9.3-p327@mygemset do gem update --system
于 2013-04-09T12:07:21.023 に答える
1

異常な問題です。まだ解決されていない場合は、使用を検討してください

rvm --default use ree
which ruby
which gem

これにより、正しいバージョンであるかどうかがわかります。
rvmを使用して、または直接gemをインストールします。

于 2011-01-15T16:52:18.510 に答える