I can't install rails beta gems with the master branch #828

Closed
tenderlove opened this Issue Feb 14, 2014 · 3 comments

2 participants

@tenderlove

I'm using rubygems @ f235c4a, and it cannot install the beta gems I've built for Rails.

Here is my output:

[aaron@higgins rubygems (master)]$ ruby -I lib -S bin/gem install ~/git/rails/pkg/* 
Done installing documentation for  after 0 seconds
Done installing documentation for  after 0 seconds
ERROR:  Could not find a valid gem 'actionview' (>= 0) in any repository
ERROR:  Possible alternatives: ActionTimer, admin_view, actiontimer, action_tree, action_flow
Done installing documentation for  after 0 seconds
Done installing documentation for  after 0 seconds
Done installing documentation for  after 0 seconds
ERROR:  While executing gem ... (Gem::DependencyError)
    Unresolved dependency found during sorting - actionpack (>= 3.0) (requested by sprockets-rails-2.0.1)
[aaron@higgins rubygems (master)]$

Here are the gems I'm using

I'm using trunk ruby: ruby 2.2.0dev (2014-02-15 trunk 44959) [x86_64-darwin13.0]

Also, it looks like rdoc doesn't know the name of the gem it's parsing. Here's the output when I use rubygems 2.2.2:

[aaron@higgins rails (perf2)]$ gem install pkg/*
Successfully installed actionmailer-4.1.0.beta1
Parsing documentation for actionmailer-4.1.0.beta1
Done installing documentation for actionmailer after 0 seconds
Successfully installed actionpack-4.1.0.beta1
Parsing documentation for actionpack-4.1.0.beta1
Done installing documentation for actionpack after 3 seconds
Successfully installed actionview-4.1.0.beta1
Parsing documentation for actionview-4.1.0.beta1
/Users/aaron/.rbenv/versions/2.1.0-dev/lib/ruby/gems/2.2.0/gems/rdoc-4.1.1/lib/rdoc/method_attr.rb:118: warning: Comparable#== will no more rescue exceptions of #<=> in the next release.
/Users/aaron/.rbenv/versions/2.1.0-dev/lib/ruby/gems/2.2.0/gems/rdoc-4.1.1/lib/rdoc/method_attr.rb:118: warning: Return nil in #<=> if the comparison is inappropriate or avoid such comparison.
Done installing documentation for actionview after 3 seconds
Successfully installed activemodel-4.1.0.beta1
Parsing documentation for activemodel-4.1.0.beta1
/Users/aaron/.rbenv/versions/2.1.0-dev/lib/ruby/gems/2.2.0/gems/rdoc-4.1.1/lib/rdoc/method_attr.rb:118: warning: Comparable#== will no more rescue exceptions of #<=> in the next release.
/Users/aaron/.rbenv/versions/2.1.0-dev/lib/ruby/gems/2.2.0/gems/rdoc-4.1.1/lib/rdoc/method_attr.rb:118: warning: Return nil in #<=> if the comparison is inappropriate or avoid such comparison.
/Users/aaron/.rbenv/versions/2.1.0-dev/lib/ruby/gems/2.2.0/gems/rdoc-4.1.1/lib/rdoc/method_attr.rb:118: warning: Comparable#== will no more rescue exceptions of #<=> in the next release.
/Users/aaron/.rbenv/versions/2.1.0-dev/lib/ruby/gems/2.2.0/gems/rdoc-4.1.1/lib/rdoc/method_attr.rb:118: warning: Return nil in #<=> if the comparison is inappropriate or avoid such comparison.
/Users/aaron/.rbenv/versions/2.1.0-dev/lib/ruby/gems/2.2.0/gems/rdoc-4.1.1/lib/rdoc/method_attr.rb:118: warning: Comparable#== will no more rescue exceptions of #<=> in the next release.
/Users/aaron/.rbenv/versions/2.1.0-dev/lib/ruby/gems/2.2.0/gems/rdoc-4.1.1/lib/rdoc/method_attr.rb:118: warning: Return nil in #<=> if the comparison is inappropriate or avoid such comparison.
/Users/aaron/.rbenv/versions/2.1.0-dev/lib/ruby/gems/2.2.0/gems/rdoc-4.1.1/lib/rdoc/method_attr.rb:118: warning: Comparable#== will no more rescue exceptions of #<=> in the next release.
/Users/aaron/.rbenv/versions/2.1.0-dev/lib/ruby/gems/2.2.0/gems/rdoc-4.1.1/lib/rdoc/method_attr.rb:118: warning: Return nil in #<=> if the comparison is inappropriate or avoid such comparison.
Done installing documentation for activemodel after 0 seconds
Successfully installed activerecord-4.1.0.beta1
Parsing documentation for activerecord-4.1.0.beta1
/Users/aaron/.rbenv/versions/2.1.0-dev/lib/ruby/gems/2.2.0/gems/rdoc-4.1.1/lib/rdoc/method_attr.rb:118: warning: Comparable#== will no more rescue exceptions of #<=> in the next release.
/Users/aaron/.rbenv/versions/2.1.0-dev/lib/ruby/gems/2.2.0/gems/rdoc-4.1.1/lib/rdoc/method_attr.rb:118: warning: Return nil in #<=> if the comparison is inappropriate or avoid such comparison.
/Users/aaron/.rbenv/versions/2.1.0-dev/lib/ruby/gems/2.2.0/gems/rdoc-4.1.1/lib/rdoc/method_attr.rb:118: warning: Comparable#== will no more rescue exceptions of #<=> in the next release.
/Users/aaron/.rbenv/versions/2.1.0-dev/lib/ruby/gems/2.2.0/gems/rdoc-4.1.1/lib/rdoc/method_attr.rb:118: warning: Return nil in #<=> if the comparison is inappropriate or avoid such comparison.
/Users/aaron/.rbenv/versions/2.1.0-dev/lib/ruby/gems/2.2.0/gems/rdoc-4.1.1/lib/rdoc/method_attr.rb:118: warning: Comparable#== will no more rescue exceptions of #<=> in the next release.
/Users/aaron/.rbenv/versions/2.1.0-dev/lib/ruby/gems/2.2.0/gems/rdoc-4.1.1/lib/rdoc/method_attr.rb:118: warning: Return nil in #<=> if the comparison is inappropriate or avoid such comparison.
/Users/aaron/.rbenv/versions/2.1.0-dev/lib/ruby/gems/2.2.0/gems/rdoc-4.1.1/lib/rdoc/method_attr.rb:118: warning: Comparable#== will no more rescue exceptions of #<=> in the next release.
/Users/aaron/.rbenv/versions/2.1.0-dev/lib/ruby/gems/2.2.0/gems/rdoc-4.1.1/lib/rdoc/method_attr.rb:118: warning: Return nil in #<=> if the comparison is inappropriate or avoid such comparison.
/Users/aaron/.rbenv/versions/2.1.0-dev/lib/ruby/gems/2.2.0/gems/rdoc-4.1.1/lib/rdoc/method_attr.rb:118: warning: Comparable#== will no more rescue exceptions of #<=> in the next release.
/Users/aaron/.rbenv/versions/2.1.0-dev/lib/ruby/gems/2.2.0/gems/rdoc-4.1.1/lib/rdoc/method_attr.rb:118: warning: Return nil in #<=> if the comparison is inappropriate or avoid such comparison.
/Users/aaron/.rbenv/versions/2.1.0-dev/lib/ruby/gems/2.2.0/gems/rdoc-4.1.1/lib/rdoc/method_attr.rb:118: warning: Comparable#== will no more rescue exceptions of #<=> in the next release.
/Users/aaron/.rbenv/versions/2.1.0-dev/lib/ruby/gems/2.2.0/gems/rdoc-4.1.1/lib/rdoc/method_attr.rb:118: warning: Return nil in #<=> if the comparison is inappropriate or avoid such comparison.
/Users/aaron/.rbenv/versions/2.1.0-dev/lib/ruby/gems/2.2.0/gems/rdoc-4.1.1/lib/rdoc/method_attr.rb:118: warning: Comparable#== will no more rescue exceptions of #<=> in the next release.
/Users/aaron/.rbenv/versions/2.1.0-dev/lib/ruby/gems/2.2.0/gems/rdoc-4.1.1/lib/rdoc/method_attr.rb:118: warning: Return nil in #<=> if the comparison is inappropriate or avoid such comparison.
/Users/aaron/.rbenv/versions/2.1.0-dev/lib/ruby/gems/2.2.0/gems/rdoc-4.1.1/lib/rdoc/method_attr.rb:118: warning: Comparable#== will no more rescue exceptions of #<=> in the next release.
/Users/aaron/.rbenv/versions/2.1.0-dev/lib/ruby/gems/2.2.0/gems/rdoc-4.1.1/lib/rdoc/method_attr.rb:118: warning: Return nil in #<=> if the comparison is inappropriate or avoid such comparison.
/Users/aaron/.rbenv/versions/2.1.0-dev/lib/ruby/gems/2.2.0/gems/rdoc-4.1.1/lib/rdoc/method_attr.rb:118: warning: Comparable#== will no more rescue exceptions of #<=> in the next release.
/Users/aaron/.rbenv/versions/2.1.0-dev/lib/ruby/gems/2.2.0/gems/rdoc-4.1.1/lib/rdoc/method_attr.rb:118: warning: Return nil in #<=> if the comparison is inappropriate or avoid such comparison.
/Users/aaron/.rbenv/versions/2.1.0-dev/lib/ruby/gems/2.2.0/gems/rdoc-4.1.1/lib/rdoc/method_attr.rb:118: warning: Comparable#== will no more rescue exceptions of #<=> in the next release.
/Users/aaron/.rbenv/versions/2.1.0-dev/lib/ruby/gems/2.2.0/gems/rdoc-4.1.1/lib/rdoc/method_attr.rb:118: warning: Return nil in #<=> if the comparison is inappropriate or avoid such comparison.
Done installing documentation for activerecord after 6 seconds
Successfully installed activesupport-4.1.0.beta1
Parsing documentation for activesupport-4.1.0.beta1
/Users/aaron/.rbenv/versions/2.1.0-dev/lib/ruby/gems/2.2.0/gems/rdoc-4.1.1/lib/rdoc/method_attr.rb:118: warning: Comparable#== will no more rescue exceptions of #<=> in the next release.
/Users/aaron/.rbenv/versions/2.1.0-dev/lib/ruby/gems/2.2.0/gems/rdoc-4.1.1/lib/rdoc/method_attr.rb:118: warning: Return nil in #<=> if the comparison is inappropriate or avoid such comparison.
/Users/aaron/.rbenv/versions/2.1.0-dev/lib/ruby/gems/2.2.0/gems/rdoc-4.1.1/lib/rdoc/method_attr.rb:118: warning: Comparable#== will no more rescue exceptions of #<=> in the next release.
/Users/aaron/.rbenv/versions/2.1.0-dev/lib/ruby/gems/2.2.0/gems/rdoc-4.1.1/lib/rdoc/method_attr.rb:118: warning: Return nil in #<=> if the comparison is inappropriate or avoid such comparison.
/Users/aaron/.rbenv/versions/2.1.0-dev/lib/ruby/gems/2.2.0/gems/rdoc-4.1.1/lib/rdoc/method_attr.rb:118: warning: Comparable#== will no more rescue exceptions of #<=> in the next release.
/Users/aaron/.rbenv/versions/2.1.0-dev/lib/ruby/gems/2.2.0/gems/rdoc-4.1.1/lib/rdoc/method_attr.rb:118: warning: Return nil in #<=> if the comparison is inappropriate or avoid such comparison.
Done installing documentation for activesupport after 3 seconds
Successfully installed rails-4.1.0.beta1
Parsing documentation for rails-4.1.0.beta1
Done installing documentation for rails after 0 seconds
Successfully installed railties-4.1.0.beta1
Parsing documentation for railties-4.1.0.beta1
Done installing documentation for railties after 0 seconds
8 gems installed
[aaron@higgins rails (perf2)]$

The command is successful, and RDoc seems to know what gems it's processing.

@tenderlove

It breaks with Ruby 2.0.0 as well, so I don't think this is a problem with Ruby:

[aaron@higgins rubygems (master)]$ ruby -v -I lib -S bin/gem install ~/git/rails/pkg/* 
ruby 2.0.0p353 (2013-11-22 revision 43784) [x86_64-darwin13.0.0]
ERROR:  Could not find a valid gem 'actionview' (>= 0) in any repository
ERROR:  Possible alternatives: ActionTimer, admin_view, actiontimer, action_tree, action_flow
ERROR:  While executing gem ... (Gem::DependencyError)
    Unresolved dependency found during sorting - activesupport (>= 3.0) (requested by sprockets-rails-2.0.1)
[aaron@higgins rubygems (master)]$
@tenderlove

This commit is the culprit: 9389824

I am unsure how to fix it.

@drbrain
RubyGems member

Looks like InstallerSet needs to also know that we're in "prerelease" mode when created. I'll have to check how difficult that is to wire up.

@tenderlove tenderlove added a commit to tenderlove/rubygems that referenced this issue Mar 26, 2014
@tenderlove tenderlove don't remove always_install requests for local gems
If the gem was specified on the commandline, we should not remove it
from the `found` list even if it is a prerelease gem.

Fixes #828
67ffa41
@drbrain drbrain closed this in #866 Mar 26, 2014
@drbrain drbrain added this to the 2.3 milestone Mar 26, 2014
@zzak zzak added a commit to zzak/rubygems that referenced this issue May 9, 2014
@tenderlove tenderlove don't remove always_install requests for local gems
If the gem was specified on the commandline, we should not remove it
from the `found` list even if it is a prerelease gem.

Fixes #828
db5d888
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment