升级到rubygems 1.8.x后,如何让`gem`再次运行?
Soooo,我使用gem upgrade –system从1.7.2升级到
RubyGems 1.8.1,然后立即按照
Eric Hodel’s blog的建议运行gem pristine –all –no-extensions.在运行gem命令时遇到错误后,我用google搜索有点,发现一些建议给宝石卸载带有弃用警告的宝石,但后来意识到我不能,因为宝石卸载只是错误 – 任何其他命令 – 包括只是简单的’宝石’.
当我运行任何这些命令时,我仍然收到一堆“已弃用”的警告,然后是这个回溯: /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升级.我尝试了第3次,但是使用下面的建议来做gem install ruby??gems-update&& update_rubygems – 刚刚导致安装失败,并让我使用了一个可用的RubyGems 1.6.2. 我想a)使用RubyGems 1.8.x,和b)撤消这些更改,而不是再次吹掉我的1.9.2安装. > rvm 1.6.5 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,今天(5月10日)在RubyGems错误回购中记录了类似的错误,我添加了类似的信息,here 解决方法
宝石有这个问题1. {7..8}.*.
这是我们的生产堆栈: > MRI 1.9.2和JRuby 1.6.1 远离升级宝石本身,或狗屎可能会破裂.我知道使用前沿是多么诱人,但它更像是在整个O.R中大量出血.墙壁. 如果你必须: >仅限当前用户(更常见):gem install ruby??gems-update -v 1.6.2&& update_rubygems 如果使用RVM,请务必首先使用rvm gemset global. 通常的警告适用于备份您的数据,gemsets,应用程序,不要在生产中尝试这一点. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |