Тааак, я обновился до RubyGems 1.8.1 с 1.7.2, используя gem upgrade --system
, затем сразу же запустил gem pristine --all --no-extensions
, как рекомендовано в блоге Эрика Ходеля . После получения ошибок при выполнении команд gem
я немного погуглил, нашел несколько предложений по gem uninstall
драгоценным камням с предупреждениями об устаревании, но потом понял, что не могу, так как gem uninstall
просто выдает ошибки - как и любой другая команда - включая просто старый gem
.
Когда я запускаю любую из этих команд, я получаю кучу «устаревших» предупреждений, а затем этот обратный след:
/Users/sloveless/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/site_ruby/1.9.1/rubygems/specification.rb:277:in `block in _resort!': undefined method `name' for nil:NilClass (NoMethodError)
from /Users/sloveless/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/site_ruby/1.9.1/rubygems/specification.rb:276:in `sort!'
from /Users/sloveless/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/site_ruby/1.9.1/rubygems/specification.rb:276:in `_resort!'
from /Users/sloveless/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/site_ruby/1.9.1/rubygems/specification.rb:270:in `_all'
from /Users/sloveless/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/site_ruby/1.9.1/rubygems/specification.rb:402:in `each'
from /Users/sloveless/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/site_ruby/1.9.1/rubygems.rb:477:in `map'
from /Users/sloveless/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/site_ruby/1.9.1/rubygems.rb:477:in `find_files'
from /Users/sloveless/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/site_ruby/1.9.1/rubygems.rb:1061:in `load_plugins'
from /Users/sloveless/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/site_ruby/1.9.1/rubygems/gem_runner.rb:85:in `<top (required)>'
from /Users/sloveless/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
from /Users/sloveless/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
from /Users/sloveless/.rvm/rubies/ruby-1.9.2-p180/bin/gem:9:in `<main>'
То же самое произошло, когда я попробовал это снова, но обновил RubyGems 1.6.2, используя ту же команду обновления. Я попробовал в третий раз, но вместо этого использовал приведенное ниже предложение, чтобы сделать gem install rubygems-update && update_rubygems
- это просто привело к неудачной установке и оставило меня с пригодным для использования RubyGems 1.6.2.
Я бы хотел: а) использовать RubyGems 1.8.x и б) отменить эти изменения, вместо того, чтобы отменить мою установку 1.9.2 снова .
Есть идеи? Я бегу:
RubyGems Environment:
- RUBYGEMS VERSION: 1.6.2
- RUBY VERSION: 1.9.2 (2011-02-18 patchlevel 180) [x86_64-darwin10.7.0]
- INSTALLATION DIRECTORY: /Users/sloveless/.rvm/gems/ruby-1.9.2-p180
- RUBY EXECUTABLE: /Users/sloveless/.rvm/rubies/ruby-1.9.2-p180/bin/ruby
- EXECUTABLE DIRECTORY: /Users/sloveless/.rvm/gems/ruby-1.9.2-p180/bin
- RUBYGEMS PLATFORMS:
- ruby
- x86_64-darwin-10
- GEM PATHS:
- /Users/sloveless/.rvm/gems/ruby-1.9.2-p180
- /Users/sloveless/.rvm/gems/ruby-1.9.2-p180@global
- GEM CONFIGURATION:
- :update_sources => true
- :verbose => true
- :benchmark => false
- :backtrace => false
- :bulk_threshold => 1000
- :sources => ["http://rubygems.org"]
- REMOTE SOURCES:
- http://rubygems.org
FWIW, похожая ошибка была зарегистрирована в репозитории RubyGems только сегодня (10 мая), и я добавил к этому аналогичную информацию, здесь