[Rubygems-developers] [ rubygems-Feature Requests-26090 ] Gem activation errors should be more informative.

noreply at rubyforge.org noreply at rubyforge.org
Mon Jun 1 14:20:01 EDT 2009


Feature Requests item #26090, was opened at 2009-06-01 14:20
You can respond by visiting: 
http://rubyforge.org/tracker/?func=detail&atid=578&aid=26090&group_id=126

Category: None
Group: None
Status: Open
Resolution: None
Priority: 3
Submitted By: Bob Aman (sporkmonger)
Assigned to: Nobody (None)
Summary: Gem activation errors should be more informative.

Initial Comment:
In some cases, especially with closely related projects like rspec and rspec-rails, it's easy for gems to get out-of-sync.  When a file is required without a version, the latest version gets loaded.  So if rspec gets loaded first, rspec 1.2.6 gets activated.  The only copy of rspec-rails on the machine requires 1.2.4, and when you run your specs, rake fails with:

Can't activate rspec (= 1.2.4), already activated rspec (= 1.2.6).

The problem is, in a large project with lots of dependencies, it's nearly impossible to determine what exactly is doing the require of the old version based on this error message.  None of the rspec-rails code appears in the exception backtrace, so you may even be forced to add debug code to RubyGems itself in order to actually find the offending gem.

I'd like to see the error message read:

Gem rspec-rails couldn't activate rspec (= 1.2.4), already activated rspec (= 1.2.6).

----------------------------------------------------------------------

You can respond by visiting: 
http://rubyforge.org/tracker/?func=detail&atid=578&aid=26090&group_id=126


More information about the Rubygems-developers mailing list