Skip to content

Bundler 1.3.2 doesn't work with Rubygems 2.0.2 and large gemfiles #2372

Closed
deric opened this Issue Mar 8, 2013 · 9 comments

5 participants

@deric
deric commented Mar 8, 2013

I'm trying to run bundle install on Gentoo Linux 2.6.36 64bit

It looks like Bundler is unable to fetch data from RubyGems.

~/.rvm/gems/ruby-2.0.0-p0/gems/bundler-1.3.2/lib/bundler/fetcher.rb:119:in `specs': undefined method `each' for nil:NilClass (NoMethodError)
        from ~/.rvm/gems/ruby-2.0.0-p0/gems/bundler-1.3.2/lib/bundler/source/rubygems.rb:244:in `block in remote_specs'
        from ~/.rvm/gems/ruby-2.0.0-p0/gems/bundler-1.3.2/lib/bundler/source/rubygems.rb:244:in `each'
        from ~/.rvm/gems/ruby-2.0.0-p0/gems/bundler-1.3.2/lib/bundler/source/rubygems.rb:244:in `remote_specs'
        from ~/.rvm/gems/ruby-2.0.0-p0/gems/bundler-1.3.2/lib/bundler/source/rubygems.rb:162:in `fetch_specs'
        from ~/.rvm/gems/ruby-2.0.0-p0/gems/bundler-1.3.2/lib/bundler/source/rubygems.rb:66:in `specs'
        from ~/.rvm/gems/ruby-2.0.0-p0/gems/bundler-1.3.2/lib/bundler/lazy_specification.rb:52:in `__materialize__'
        from ~/.rvm/gems/ruby-2.0.0-p0/gems/bundler-1.3.2/lib/bundler/spec_set.rb:88:in `block in materialize'
        from ~/.rvm/gems/ruby-2.0.0-p0/gems/bundler-1.3.2/lib/bundler/spec_set.rb:85:in `map!'
        from ~/.rvm/gems/ruby-2.0.0-p0/gems/bundler-1.3.2/lib/bundler/spec_set.rb:85:in `materialize'
        from ~/.rvm/gems/ruby-2.0.0-p0/gems/bundler-1.3.2/lib/bundler/definition.rb:114:in `specs'
        from ~/.rvm/gems/ruby-2.0.0-p0/gems/bundler-1.3.2/lib/bundler/definition.rb:109:in `resolve_remotely!'
        from ~/.rvm/gems/ruby-2.0.0-p0/gems/bundler-1.3.2/lib/bundler/installer.rb:83:in `run'
        from ~/.rvm/gems/ruby-2.0.0-p0/gems/bundler-1.3.2/lib/bundler/installer.rb:14:in `install'
        from ~/.rvm/gems/ruby-2.0.0-p0/gems/bundler-1.3.2/lib/bundler/cli.rb:248:in `install'
        from ~/.rvm/gems/ruby-2.0.0-p0/gems/bundler-1.3.2/lib/bundler/vendor/thor/task.rb:27:in `run'
        from ~/.rvm/gems/ruby-2.0.0-p0/gems/bundler-1.3.2/lib/bundler/vendor/thor/invocation.rb:120:in `invoke_task'
        from ~/.rvm/gems/ruby-2.0.0-p0/gems/bundler-1.3.2/lib/bundler/vendor/thor.rb:344:in `dispatch'
        from ~/.rvm/gems/ruby-2.0.0-p0/gems/bundler-1.3.2/lib/bundler/vendor/thor/base.rb:434:in `start'
        from ~/.rvm/gems/ruby-2.0.0-p0/gems/bundler-1.3.2/bin/bundle:20:in `block in '
        from ~/.rvm/gems/ruby-2.0.0-p0/gems/bundler-1.3.2/lib/bundler/friendly_errors.rb:3:in `with_friendly_errors'
        from ~/.rvm/gems/ruby-2.0.0-p0/gems/bundler-1.3.2/bin/bundle:20:in `'
        from ~/.rvm/gems/ruby-2.0.0-p0/bin/bundle:23:in `load'
        from ~/.rvm/gems/ruby-2.0.0-p0/bin/bundle:23:in `'
        from ~/.rvm/gems/ruby-2.0.0-p0/bin/ruby_noexec_wrapper:14:in `eval'
        from ~/.rvm/gems/ruby-2.0.0-p0/bin/ruby_noexec_wrapper:14:in `'

on ruby 1.9.3-p374 everything is fine

any idea how to debug this?

@indirect
Bundler member
@deric
deric commented Mar 8, 2013

sorry, I should have tried it before. thanks, issue solved

@deric deric closed this Mar 8, 2013
@indirect
Bundler member
@indirect
Bundler member

Turns out the code path for large gemfiles delegates to Rubygems, and Rubygems will silently return gems from https://rubygems.org when you ask for http://rubygems.org, and that's why Bundler can't find any data. Filed as rubygems/rubygems#506.

@indirect indirect reopened this Mar 11, 2013
@indirect
Bundler member

This should be fixed in 3fb3eb9. Anybody want to build a Bundler gem from 1-3-stable and test it for me?

@fxposter

The fix works for me.

@nukturnal

bundle install passed perfectly for me it was bundle install --deployment that was throwing the same errors. Doing gem update --system fixed it for me

@indirect
Bundler member

@fxposter thanks for testing! I'm releasing 1.3.3 now.

@indirect indirect closed this Mar 13, 2013
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.