gem update blows up
Reported by Jeff Dean | June 20th, 2008 @ 09:35 PM
I have a mysterious error: I try to run gem update and I get a bunch of GemInstaller errors:
sudo gem update -V
Updating installed gems
Exception during cache_data handling: TypeError - invalid Gem::Specification format ["1.1.1", 3, "geminstaller", #<Gem::Version "0.4.2">, Thu Jun 19 03:00:00 -0400 2008, "Automated Gem installation, activation, and much more!", #<Gem::Requirement:0x1a64b30 @requirements=[[">=", #<Gem::Version "0">]], @version=nil>, #<Gem::Requirement:0x1a64a68 @requirements=[[">=", #<Gem::Version "0">]], @version=nil>, "ruby", [], "geminstaller", "thewoolleyman@gmail.com", ["Chad Woolley"], "Automated Gem installation, activation, and much more! == FEATURES: GemInstaller provides automated installation, loading and activation of RubyGems. It uses a simple YAML config file to: * Automatically install the correct versions of all required gems wherever your app runs. * Automatically ensure installed gems and versions are consistent across multiple applications, machines, platforms, and environments * Automatically activate correct versions of gems on the ruby load path when your app runs ('require_gem'/'gem') * Automatically reinstall missing dependency gems (built in to RubyGems > 1.0) * Automatically detect correct platform to install for multi-platform gems (built in to RubyGems > 1.0) * Print YAML for \"rogue gems\" which are not specified in the current config, to easily bootstrap your config file, or find gems that were manually installed without GemInstaller. * Allow for common configs to be reused across projects or environments by supporting multiple config files, including common config file snippets, and defaults with overrides. * Allow for dynamic selection of gems, versions, and platforms to be used based on environment vars or any other logic. * Avoid the \"works on demo, breaks on production\" syndrome * Solve world hunger, prevent the global energy crisis, and wash your socks. == SYNOPSYS:", " by Chad Woolley", true, "ruby"]
Cache file was: /opt/local/lib/ruby/gems/1.8/latest_source_cache
/opt/local/lib/ruby/site_ruby/1.8/rubygems/specification.rb:271:in `_load'
/opt/local/lib/ruby/site_ruby/1.8/rubygems/source_info_cache.rb:190:in `load'
/opt/local/lib/ruby/site_ruby/1.8/rubygems/source_info_cache.rb:190:in `read_cache_data'
/opt/local/lib/ruby/site_ruby/1.8/rubygems/source_info_cache.rb:120:in `cache_data'
/opt/local/lib/ruby/site_ruby/1.8/rubygems/source_info_cache.rb:224:in `refresh'
/opt/local/lib/ruby/site_ruby/1.8/rubygems/source_info_cache.rb:223:in `each'
/opt/local/lib/ruby/site_ruby/1.8/rubygems/source_info_cache.rb:223:in `refresh'
/opt/local/lib/ruby/site_ruby/1.8/rubygems/source_info_cache.rb:41:in `cache'
/opt/local/lib/ruby/site_ruby/1.8/rubygems/source_info_cache.rb:78:in `search'
/opt/local/lib/ruby/site_ruby/1.8/rubygems/commands/update_command.rb:75:in `execute'
/opt/local/lib/ruby/site_ruby/1.8/rubygems/command.rb:136:in `invoke'
/opt/local/lib/ruby/site_ruby/1.8/rubygems/command_manager.rb:104:in `process_args'
/opt/local/lib/ruby/site_ruby/1.8/rubygems/command_manager.rb:74:in `run'
/opt/local/lib/ruby/site_ruby/1.8/rubygems/gem_runner.rb:39:in `run'
/opt/local/bin/gem:24
Missing metadata for 3318 gems
Bulk updating Gem source index for: http://gems.rubyforge.org/
ERROR: Unable to fetch Marshal.4.8.Z: invalid Gem::Specification format ["1.1.1", 3, "geminstaller", #<Gem::Version "0.4.2">, Thu Jun 19 03:00:00 -0400 2008, "Automated Gem installation, activation, and much more!", #<Gem::Requirement:0x4d4fc84 @requirements=[[">=", #<Gem::Version "0">]], @version=nil>, #<Gem::Requirement:0x4d4fbbc @requirements=[[">=", #<Gem::Version "0">]], @version=nil>, "ruby", [], "geminstaller", "thewoolleyman@gmail.com", ["Chad Woolley"], "Automated Gem installation, activation, and much more! == FEATURES: GemInstaller provides automated installation, loading and activation of RubyGems. It uses a simple YAML config file to: * Automatically install the correct versions of all required gems wherever your app runs. * Automatically ensure installed gems and versions are consistent across multiple applications, machines, platforms, and environments * Automatically activate correct versions of gems on the ruby load path when your app runs ('require_gem'/'gem') * Automatically reinstall missing dependency gems (built in to RubyGems > 1.0) * Automatically detect correct platform to install for multi-platform gems (built in to RubyGems > 1.0) * Print YAML for \"rogue gems\" which are not specified in the current config, to easily bootstrap your config file, or find gems that were manually installed without GemInstaller. * Allow for common configs to be reused across projects or environments by supporting multiple config files, including common config file snippets, and defaults with overrides. * Allow for dynamic selection of gems, versions, and platforms to be used based on environment vars or any other logic. * Avoid the \"works on demo, breaks on production\" syndrome * Solve world hunger, prevent the global energy crisis, and wash your socks. == SYNOPSYS:", " by Chad Woolley", true, "ruby"]
ERROR: Unable to fetch Marshal.4.8: invalid Gem::Specification format ["1.1.1", 3, "geminstaller", #<Gem::Version "0.4.2">, Thu Jun 19 03:00:00 -0400 2008, "Automated Gem installation, activation, and much more!", #<Gem::Requirement:0x3198b94 @requirements=[[">=", #<Gem::Version "0">]], @version=nil>, #<Gem::Requirement:0x3198900 @requirements=[[">=", #<Gem::Version "0">]], @version=nil>, "ruby", [], "geminstaller", "thewoolleyman@gmail.com", ["Chad Woolley"], "Automated Gem installation, activation, and much more! == FEATURES: GemInstaller provides automated installation, loading and activation of RubyGems. It uses a simple YAML config file to: * Automatically install the correct versions of all required gems wherever your app runs. * Automatically ensure installed gems and versions are consistent across multiple applications, machines, platforms, and environments * Automatically activate correct versions of gems on the ruby load path when your app runs ('require_gem'/'gem') * Automatically reinstall missing dependency gems (built in to RubyGems > 1.0) * Automatically detect correct platform to install for multi-platform gems (built in to RubyGems > 1.0) * Print YAML for \"rogue gems\" which are not specified in the current config, to easily bootstrap your config file, or find gems that were manually installed without GemInstaller. * Allow for common configs to be reused across projects or environments by supporting multiple config files, including common config file snippets, and defaults with overrides. * Allow for dynamic selection of gems, versions, and platforms to be used based on environment vars or any other logic. * Avoid the \"works on demo, breaks on production\" syndrome * Solve world hunger, prevent the global energy crisis, and wash your socks. == SYNOPSYS:", " by Chad Woolley", true, "ruby"]
Updating ParseTree
Exception during cache_data handling: TypeError - invalid Gem::Specification format ["1.1.1", 3, "geminstaller", #<Gem::Version "0.4.2">, Thu Jun 19 03:00:00 -0400 2008, "Automated Gem installation, activation, and much more!", #<Gem::Requirement:0xf4201d0 @requirements=[[">=", #<Gem::Version "0">]], @version=nil>, #<Gem::Requirement:0xf4200cc @requirements=[[">=", #<Gem::Version "0">]], @version=nil>, "ruby", [], "geminstaller", "thewoolleyman@gmail.com", ["Chad Woolley"], "Automated Gem installation, activation, and much more! == FEATURES: GemInstaller provides automated installation, loading and activation of RubyGems. It uses a simple YAML config file to: * Automatically install the correct versions of all required gems wherever your app runs. * Automatically ensure installed gems and versions are consistent across multiple applications, machines, platforms, and environments * Automatically activate correct versions of gems on the ruby load path when your app runs ('require_gem'/'gem') * Automatically reinstall missing dependency gems (built in to RubyGems > 1.0) * Automatically detect correct platform to install for multi-platform gems (built in to RubyGems > 1.0) * Print YAML for \"rogue gems\" which are not specified in the current config, to easily bootstrap your config file, or find gems that were manually installed without GemInstaller. * Allow for common configs to be reused across projects or environments by supporting multiple config files, including common config file snippets, and defaults with overrides. * Allow for dynamic selection of gems, versions, and platforms to be used based on environment vars or any other logic. * Avoid the \"works on demo, breaks on production\" syndrome * Solve world hunger, prevent the global energy crisis, and wash your socks. == SYNOPSYS:", " by Chad Woolley", true, "ruby"]
Cache file was: /opt/local/lib/ruby/gems/1.8/source_cache
/opt/local/lib/ruby/site_ruby/1.8/rubygems/specification.rb:271:in `_load'
/opt/local/lib/ruby/site_ruby/1.8/rubygems/source_info_cache.rb:190:in `load'
/opt/local/lib/ruby/site_ruby/1.8/rubygems/source_info_cache.rb:190:in `read_cache_data'
/opt/local/lib/ruby/site_ruby/1.8/rubygems/source_info_cache.rb:183:in `read_all_cache_data'
/opt/local/lib/ruby/site_ruby/1.8/rubygems/source_info_cache.rb:276:in `search_with_source'
/opt/local/lib/ruby/site_ruby/1.8/rubygems/source_info_cache.rb:86:in `search_with_source'
/opt/local/lib/ruby/site_ruby/1.8/rubygems/dependency_installer.rb:77:in `find_gems_with_sources'
/opt/local/lib/ruby/site_ruby/1.8/rubygems/dependency_installer.rb:154:in `find_spec_by_name_and_version'
/opt/local/lib/ruby/site_ruby/1.8/rubygems/dependency_installer.rb:173:in `install'
/opt/local/lib/ruby/site_ruby/1.8/rubygems/commands/update_command.rb:86:in `execute'
/opt/local/lib/ruby/site_ruby/1.8/rubygems/commands/update_command.rb:82:in `each'
/opt/local/lib/ruby/site_ruby/1.8/rubygems/commands/update_command.rb:82:in `execute'
/opt/local/lib/ruby/site_ruby/1.8/rubygems/command.rb:136:in `invoke'
/opt/local/lib/ruby/site_ruby/1.8/rubygems/command_manager.rb:104:in `process_args'
/opt/local/lib/ruby/site_ruby/1.8/rubygems/command_manager.rb:74:in `run'
/opt/local/lib/ruby/site_ruby/1.8/rubygems/gem_runner.rb:39:in `run'
/opt/local/bin/gem:24
ERROR: While executing gem ... (Gem::GemNotFoundException)
could not find ParseTree locally or in a repository
However, I don't have GemInstaller installed:
aasm (0.0.2)
action_profiler (1.0.0)
actionmailer (2.1.0)
actionpack (2.1.0)
actionwebservice (1.2.6)
activemerchant (1.3.2)
activerecord (2.1.0)
activeresource (2.1.0)
activesupport (2.1.0)
annotate-models (1.0.2)
arrayfields (4.5.0)
attributes (5.0.1)
bj (1.0.1)
builder (2.1.2)
capistrano (2.4.0)
capistrano-ext (1.2.0)
cgi_multipart_eof_fix (2.5.0)
cheat (1.2.1)
chronic (0.2.3)
color-tools (1.3.0)
columnize (0.1)
daemons (1.0.9)
desert (0.2.1)
facets (2.4.1)
fastercsv (1.2.3)
fastthread (1.0.1)
ferret (0.11.6)
gem_plugin (0.2.3)
highline (1.4.0)
hoe (1.5.3)
hpricot (0.6)
htmlentities (4.0.0)
image_science (1.1.3)
lightrail (0.5.0)
linecache (0.42)
main (2.8.0)
mechanize (0.6.11)
mime-types (1.15)
mislav-will_paginate (2.3.2)
money (1.7.1)
mongrel (1.1.1)
mongrel_cluster (1.0.5)
needle (1.3.0)
net-scp (1.0.1)
net-sftp (2.0.1)
net-ssh (2.0.2)
net-ssh-gateway (1.0.0)
newgem (0.23.1)
orderedhash (0.0.4)
packet (0.1.5)
ParseTree (2.0.2)
ParseTreeReloaded (0.0.1)
pdf-writer (1.1.3)
piston (1.3.3)
plugin_dependencies (0.1.1)
radiant (0.6.4)
rails (2.1.0)
rails_analyzer_tools (1.4.0)
railsmachine (1.0.0)
rake (0.8.1)
RedCloth (3.0.4)
rflickr (2006.02.01)
rspec (1.1.3)
rubigen (1.3.1)
ruby-debug (0.10.1)
ruby-debug-base (0.10.1)
ruby-postgres (0.7.1.2006.04.06)
ruby2ruby (1.1.7)
rubyforge (1.0.0)
rubygems-update (1.1.0)
RubyInline (3.6.5)
RubyInlineAcceleration (0.0.1)
sake (1.0.11)
scrubyt (0.3.4)
sources (0.0.1)
sqlite (2.0.1)
sqlite-ruby (2.2.3)
syntax (1.0.0)
SyslogLogger (1.4.0)
systemu (1.2.0)
transaction-simple (1.4.0)
tzinfo (0.3.5)
uuid (1.0.4)
webrat (0.2.0)
will_paginate (2.2.2)
I grepped and tried to locate GemInstaller on my machine, but I couldn't. Looks like the RubyForge spec is wrong??
Comments and changes to this ticket
-

Jeff Dean June 20th, 2008 @ 10:19 PM
Looks like this relates to the gem update - may not be your problem at all. Could your gem be the first in the index (due to the capital first letter)?
-

Jeff Dean June 22nd, 2008 @ 12:43 PM
I confirmed that this had nothing to do with GemInstaller - I updated to rubygems 1.2.0 and all is well. Sorry for that.
-
Chad Woolley June 22nd, 2008 @ 02:39 PM
- → State changed from new to resolved
Hi Jeff,
Good, thanks for the report. I didn't look long enough to understand what happened. Any details you can provide are welcome, so I'll recognize the problem if I see it again.
Thanks,
-- Chad
-

Jeff Dean June 22nd, 2008 @ 03:00 PM
I believe what happened is that RubyForge upated their gem indexes to
work with 1.2.0. These new indexes may have been backward compatible
with 1.1.1, but I had 1.1.0 (or some previous version).
When I tried to gem update, my local machine read through the indexes
and tried to parse them but couldn't because of the version
incompatibility. GemInstaller was the first gemspec in the index
(maybe because there are no gems with a letter < capital G), or at
least the first one that triggered the error - so I thought it was an
issue with GemInstaller.
This issue prevented me from running gem update --system so I manually
downloaded and ran the gem updater with these steps:
wget http://rubyforge.org/frs/downloa... sudo gem install rubygems-update-1.2.0.gem cd /opt/local/lib/ruby/gems/1.8/gems/rubygems-update-1.2.0 # => I run from macports sudo ruby setup.rb sudo gem update -vJeff
On Jun 22, 2008, at 5:39 PM, Lighthouse wrote:
-
Chad Woolley June 22nd, 2008 @ 03:07 PM
Thanks for the info Jeff. However, I'm not sure why you say the GemInstaller gem has a capital letter, it doesn't for me:
chadmac:capistrano-ext-1.2.0 woolley$ gem list geminstaller --remote --source=http://gems.rubyforge.org
*** REMOTE GEMS ***
geminstaller (0.4.2)
-
Chad Woolley June 24th, 2008 @ 01:45 PM
This was apparently because I built the GemInstaller 0.4.2 gem with a pre-1.2.0 release of RubyGems.
I have since re-released GemInstaller 0.4.3 built with RubyGems 1.2.0 official, and deleted the 0.4.2 release off of RubyForge. I hope this fixes everything!
Please Login or create a free account to add a new comment.
You can update this ticket by sending an email to from your email client. (help)
Create your profile
Help contribute to this project by taking a few moments to create your personal profile. Create your profile »
GemInstaller
http://geminstaller.rubyforge.org
