Как вы обновляете rubygems под rvm, когда ree является вашим по умолчанию vm (на Snow Leopard)? Я делаю:
$ 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. Делать, какой драгоценный камень указывает на повторную версию драгоценного камня.
Кто-нибудь знает, как заставить рубины обновляться с помощью RVM?
Проблема, я думаю, заключается в начальной команде (или в том, что вы ожидаете от этой команды):
$ rvm ree gem update --system
Это говорит rvm передать gem update --system
в гем
под ree
, но он не переключает вас на этот конкретный интерпретатор Ruby. Вы продолжаете использовать любой интерпретатор, который вы установили в этой оболочке (либо по умолчанию, либо потому, что вы переключились вручную ранее в сеансе оболочки).
Например, моим интерпретатором по умолчанию является Ruby 1.9.2. Если я передам эту команду: rvm 1.9.1 gem install pony
, тогда гем Pony будет установлен для 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