gem upgrade --system
将RubyGems从1.7.2升级到1.8.1,然后立即按Eric Hodel's blog的建议运行gem pristine --all --no-extensions
。在运行gem
命令时出现错误,我通过谷歌搜索找到了一些建议,要求用gem uninstall
卸载带有不推荐警告的gems,但随后发现无法进行卸载,因为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。我想要a)使用RubyGems 1.8.x,b)撤消这些更改,而不是必须再次删除我的1.9.2安装程序。有什么想法吗?我正在运行:
- rvm 1.6.5 - MRI 1.9.2
RubyGems环境: - RUBYGEMS版本: 1.6.2 - RUBY版本: 1.9.2 (2011-02-18 patchlevel 180) [x86_64-darwin10.7.0] - 安装目录: /Users/sloveless/.rvm/gems/ruby-1.9.2-p180 - RUBY可执行文件: /Users/sloveless/.rvm/rubies/ruby-1.9.2-p180/bin/ruby - 可执行文件目录: /Users/sloveless/.rvm/gems/ruby-1.9.2-p180/bin - RUBYGEMS平台: - ruby - x86_64-darwin-10 - GEM路径: - /Users/sloveless/.rvm/gems/ruby-1.9.2-p180 - /Users/sloveless/.rvm/gems/ruby-1.9.2-p180@global - GEM配置: - :update_sources => true - :verbose => true - :benchmark => false - :backtrace => false - :bulk_threshold => 1000 - :sources => ["http://rubygems.org"] - 远程资源: - http://rubygems.org
顺便提一下,就在今天(5月10日),RubyGems错误库中也记录了一个类似的错误,并且我在那里添加了类似的信息,这里
which gem
告诉你什么? - the Tin Man/Users/sloveless/.rvm/rubies/ruby-1.9.2-p180/bin/gem
- turboladen