当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?
答案 0 :(得分:35)
答案 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。