如何使用rvm和ree更新rubygems?

如何使用rvm和ree更新rubygems?,ruby,rubygems,rvm,Ruby,Rubygems,Rvm,当ree是您的默认vm(在雪豹上)时,如何在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 inst

当ree是您的默认vm(在雪豹上)时,如何在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版本时,它仍然显示为1.3.5。做一个gem指向gem的ree版本的测试


有人知道如何使用RVM更新rubygems吗?

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

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

例如,我的默认解释器是Ruby 1.9.2。如果我传递以下命令:
rvm1.9.1gem install-pony
,那么就为Ruby 1.9.1安装了小马gem。然而,在安装完成后,我仍然在使用Ruby 1.9.2。如果我输入
irb
并尝试
require'pony'
,我会得到一个加载错误。如果我运行
rvm1.9.1
,然后输入
irb
,则小马已安装并可以正常加载

因此,正如Brian在他对您的帖子的评论中所说,您可以使用
rvm use ree
手动切换。或者,您可以将初始命令切换为:

$ rvm ree
$ gem update --system
$ gem --version
这是一个不寻常的问题。 如果尚未解决,请考虑使用

rvm --default use ree
which ruby
which gem
这将显示您的版本是否正确。
使用rvm或直接安装gems

现在您只需执行以下操作:

rvm rubygems latest

或者你可以定义你真正想要的rubygems

rvm建议我使用以下内容:

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

您是否验证了ree是当前选择的rvm ruby?e、 g.
rvm使用ree
然后
gem--version
。我知道这听起来很愚蠢,但我以前遇到过一个错误:-(我已经验证了这一点。最奇怪的是ruby gems似乎认为它正在更新正确的文件。它说更新~/.rvm/rubies/ree-1.8.7-2010.02/bin/gem,当我做“哪个gem”时它指向~/.rvm/rubies/ree-1.8.7-2010.02/bin/gem。所以在require路径中必须有另一个版本的gem?我看不到。这会产生与原始问题相同的结果。所有内容都说它正在更新,gem说它更新了正确的文件,但当运行gem--version时,它仍然说是旧版本。当我运行“which gem”时,它指向rubygems刚刚报告更新的同一个文件。请注意,
rvm gem…
已被删除,请尝试
gem update--system
rvm all do gem update--system
。(请参阅:)
rvm ruby-1.9.3-p327@mygemset do gem update --system