你如何使用rvm和ree更新rubygems?

时间:2010-08-20 23:17:06

标签: ruby rubygems rvm

当ree是你的默认vm(在Snow Leopard上)时,如何在rvm下更新rubygems?我在做:

$ 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。做一个宝石指向ree版本的宝石。

任何人都知道如何使用RVM更新rubygems?

4 个答案:

答案 0 :(得分:35)

现在你可以这样做:

rvm rubygems latest

或者你可以定义你真正想要的rubygems。 https://rvm.io/rubies/rubygems/

答案 1 :(得分:17)

我认为问题是初始命令(或者您希望该命令执行的操作):

$ rvm ree gem update --system

告诉rvm将gem update --system传递给gem下的ree,但它不会将您切换到该特定的Ruby解释器。您继续使用在该shell中设置的任何解释器(无论是默认情况下还是因为您在shell会话中先前手动切换)。

举个例子,我的默认解释器是Ruby 1.9.2。如果我传递此命令:rvm 1.9.1 gem install pony,则为Ruby 1.9.1安装Pony gem。但是,在安装完成后,我仍在使用 Ruby 1.9.2。如果我输入irb并尝试require 'pony',则会出现加载错误。如果我运行rvm 1.9.1然后输入irb,则会安装Pony并加载正常。

正如布莱恩在对你的帖子的评论中所说,你可以用rvm use ree手动切换。或者,您可以将初始命令切换为:

$ rvm ree
$ gem update --system
$ gem --version

答案 2 :(得分:2)

rvm建议我像这样使用smth:

rvm ruby-1.9.3-p327@mygemset do gem update --system

答案 3 :(得分:1)

这是一个不寻常的问题。 如果尚未解决,请考虑使用

rvm --default use ree
which ruby
which gem

如果你的版本合适,这应该会告诉你 使用rvm或直接安装gem。