Skip to content
This repository has been archived by the owner on Apr 14, 2021. It is now read-only.

Crash when using mirrors: NameError: undefined local variable or method `mirror_source' for #<Bundler::Settings:0x0000000145bbd0> #3386

Closed
c10l opened this issue Feb 11, 2015 · 1 comment

Comments

@c10l
Copy link

c10l commented Feb 11, 2015

This happens with Bundler 1.8.0. 1.7.x works.

I have mirrors set up for Rubygems in a ~/.bundle/config file:


---
BUNDLE_MIRROR__HTTP://RUBYGEMS.ORG: https://nexus.example.co.uk/content/repositories/rubygems-proxy/
BUNDLE_MIRROR__HTTPS://RUBYGEMS.ORG: https://nexus.example.co.uk/content/repositories/rubygems-proxy/

When I run bundle install, bundler crashes with the error below. If I delete the mirrors and go straight to rubygems.org it works fine.

――― ERROR REPORT TEMPLATE ―――――――――――――――――――――――――――――――――――――――――――――――――――――――
- What did you do?
- What did you expect to happen?
- What happened instead?
Notice: /Stage[main]/Gamesys_httpd_management_console/Gamesys_rbenv::Rbexec[run_piquette_management_console_deploy_script]/Exec[run_piquette_management_console_deploy_script]/returns:
Error details
Notice: /Stage[main]/Gamesys_httpd_management_console/Gamesys_rbenv::Rbexec[run_piquette_management_console_deploy_script]/Exec[run_piquette_management_console_deploy_script]/returns:
    NameError: undefined local variable or method `mirror_source' for #<Bundler::Settings:0x00000001756ba0>
    /home/cassiano/.rbenv/versions/1.9.2-p180/lib/ruby/gems/1.9.1/gems/bundler-1.8.0/lib/bundler/settings.rb:185:in `normalize_uri'
    /home/cassiano/.rbenv/versions/1.9.2-p180/lib/ruby/gems/1.9.1/gems/bundler-1.8.0/lib/bundler/settings.rb:56:in `block in gem_mirrors'
    /home/cassiano/.rbenv/versions/1.9.2-p180/lib/ruby/gems/1.9.1/gems/bundler-1.8.0/lib/bundler/settings.rb:53:in `each'
    /home/cassiano/.rbenv/versions/1.9.2-p180/lib/ruby/gems/1.9.1/gems/bundler-1.8.0/lib/bundler/settings.rb:53:in `inject'
    /home/cassiano/.rbenv/versions/1.9.2-p180/lib/ruby/gems/1.9.1/gems/bundler-1.8.0/lib/bundler/settings.rb:53:in `gem_mirrors'
    /home/cassiano/.rbenv/versions/1.9.2-p180/lib/ruby/gems/1.9.1/gems/bundler-1.8.0/lib/bundler/source.rb:12:in `mirror_for'
    /home/cassiano/.rbenv/versions/1.9.2-p180/lib/ruby/gems/1.9.1/gems/bundler-1.8.0/lib/bundler/fetcher.rb:400:in `configured_uri_for'
    /home/cassiano/.rbenv/versions/1.9.2-p180/lib/ruby/gems/1.9.1/gems/bundler-1.8.0/lib/bundler/fetcher.rb:109:in `initialize'
    /home/cassiano/.rbenv/versions/1.9.2-p180/lib/ruby/gems/1.9.1/gems/bundler-1.8.0/lib/bundler/source/rubygems.rb:187:in `new'
    /home/cassiano/.rbenv/versions/1.9.2-p180/lib/ruby/gems/1.9.1/gems/bundler-1.8.0/lib/bundler/source/rubygems.rb:187:in `block in fetchers'
    /home/cassiano/.rbenv/versions/1.9.2-p180/lib/ruby/gems/1.9.1/gems/bundler-1.8.0/lib/bundler/source/rubygems.rb:186:in `map'
    /home/cassiano/.rbenv/versions/1.9.2-p180/lib/ruby/gems/1.9.1/gems/bundler-1.8.0/lib/bundler/source/rubygems.rb:186:in `fetchers'
    /home/cassiano/.rbenv/versions/1.9.2-p180/lib/ruby/gems/1.9.1/gems/bundler-1.8.0/lib/bundler/source/rubygems.rb:288:in `block in remote_specs'
    /home/cassiano/.rbenv/versions/1.9.2-p180/lib/ruby/gems/1.9.1/gems/bundler-1.8.0/lib/bundler/index.rb:9:in `build'
    /home/cassiano/.rbenv/versions/1.9.2-p180/lib/ruby/gems/1.9.1/gems/bundler-1.8.0/lib/bundler/source/rubygems.rb:287:in `remote_specs'
    /home/cassiano/.rbenv/versions/1.9.2-p180/lib/ruby/gems/1.9.1/gems/bundler-1.8.0/lib/bundler/source/rubygems.rb:72:in `specs'
    /home/cassiano/.rbenv/versions/1.9.2-p180/lib/ruby/gems/1.9.1/gems/bundler-1.8.0/lib/bundler/source/local_rubygems.rb:7:in `specs'
    /home/cassiano/.rbenv/versions/1.9.2-p180/lib/ruby/gems/1.9.1/gems/bundler-1.8.0/lib/bundler/lazy_specification.rb:53:in `__materialize__'
    /home/cassiano/.rbenv/versions/1.9.2-p180/lib/ruby/gems/1.9.1/gems/bundler-1.8.0/lib/bundler/spec_set.rb:88:in `block in materialize'
    /home/cassiano/.rbenv/versions/1.9.2-p180/lib/ruby/gems/1.9.1/gems/bundler-1.8.0/lib/bundler/spec_set.rb:85:in `map!'
    /home/cassiano/.rbenv/versions/1.9.2-p180/lib/ruby/gems/1.9.1/gems/bundler-1.8.0/lib/bundler/spec_set.rb:85:in `materialize'
    /home/cassiano/.rbenv/versions/1.9.2-p180/lib/ruby/gems/1.9.1/gems/bundler-1.8.0/lib/bundler/definition.rb:132:in `specs'
    /home/cassiano/.rbenv/versions/1.9.2-p180/lib/ruby/gems/1.9.1/gems/bundler-1.8.0/lib/bundler/definition.rb:121:in `resolve_remotely!'
    /home/cassiano/.rbenv/versions/1.9.2-p180/lib/ruby/gems/1.9.1/gems/bundler-1.8.0/lib/bundler/installer.rb:79:in `run'
    /home/cassiano/.rbenv/versions/1.9.2-p180/lib/ruby/gems/1.9.1/gems/bundler-1.8.0/lib/bundler/installer.rb:18:in `install'
    /home/cassiano/.rbenv/versions/1.9.2-p180/lib/ruby/gems/1.9.1/gems/bundler-1.8.0/lib/bundler/cli/install.rb:80:in `run'
    /home/cassiano/.rbenv/versions/1.9.2-p180/lib/ruby/gems/1.9.1/gems/bundler-1.8.0/lib/bundler/cli.rb:157:in `install'
    /home/cassiano/.rbenv/versions/1.9.2-p180/lib/ruby/gems/1.9.1/gems/bundler-1.8.0/lib/bundler/vendor/thor/command.rb:27:in `run'
    /home/cassiano/.rbenv/versions/1.9.2-p180/lib/ruby/gems/1.9.1/gems/bundler-1.8.0/lib/bundler/vendor/thor/invocation.rb:121:in `invoke_command'
    /home/cassiano/.rbenv/versions/1.9.2-p180/lib/ruby/gems/1.9.1/gems/bundler-1.8.0/lib/bundler/vendor/thor.rb:363:in `dispatch'
    /home/cassiano/.rbenv/versions/1.9.2-p180/lib/ruby/gems/1.9.1/gems/bundler-1.8.0/lib/bundler/vendor/thor/base.rb:440:in `start'
    /home/cassiano/.rbenv/versions/1.9.2-p180/lib/ruby/gems/1.9.1/gems/bundler-1.8.0/lib/bundler/cli.rb:10:in `start'
    /home/cassiano/.rbenv/versions/1.9.2-p180/lib/ruby/gems/1.9.1/gems/bundler-1.8.0/bin/bundle:20:in `block in <top (required)>'
    /home/cassiano/.rbenv/versions/1.9.2-p180/lib/ruby/gems/1.9.1/gems/bundler-1.8.0/lib/bundler/friendly_errors.rb:6:in `with_friendly_errors'
    /home/cassiano/.rbenv/versions/1.9.2-p180/lib/ruby/gems/1.9.1/gems/bundler-1.8.0/bin/bundle:18:in `<top (required)>'
    /home/cassiano/.rbenv/versions/1.9.2-p180/bin/bundle:23:in `load'
    /home/cassiano/.rbenv/versions/1.9.2-p180/bin/bundle:23:in `<main>'
Notice: /Stage[main]/Gamesys_httpd_management_console/Gamesys_rbenv::Rbexec[run_piquette_management_console_deploy_script]/Exec[run_piquette_management_console_deploy_script]/returns:
Environment
Notice: /Stage[main]/Gamesys_httpd_management_console/Gamesys_rbenv::Rbexec[run_piquette_management_console_deploy_script]/Exec[run_piquette_management_console_deploy_script]/returns:
    Bundler   1.8.0
    Rubygems  1.8.23
    Ruby      1.9.2p180 (2011-02-18 revision 30909) [x86_64-linux]
    GEM_HOME  /home/cassiano/webhead/www/vhosts/piquette3-management-console/vendor/gems/ruby/1.9.1
    GEM_PATH
    Git       1.7.1
Notice: /Stage[main]/Gamesys_httpd_management_console/Gamesys_rbenv::Rbexec[run_piquette_management_console_deploy_script]/Exec[run_piquette_management_console_deploy_script]/returns:
Bundler settings
Notice: /Stage[main]/Gamesys_httpd_management_console/Gamesys_rbenv::Rbexec[run_piquette_management_console_deploy_script]/Exec[run_piquette_management_console_deploy_script]/returns:
    mirror.http://rubygems.org
      You have not configured a value for `mirror.http://rubygems.org`
    mirror.https://rubygems.org
      You have not configured a value for `mirror.https://rubygems.org`
    frozen
      Set for your local app (/home/cassiano/webhead/www/vhosts/piquette3-management-console/.bundle/config): "1"
    path
      Set for your local app (/home/cassiano/webhead/www/vhosts/piquette3-management-console/.bundle/config): "vendor/gems"
    without
      Set for your local app (/home/cassiano/webhead/www/vhosts/piquette3-management-console/.bundle/config): "development:test"
    disable_shared_gems
      Set for your local app (/home/cassiano/webhead/www/vhosts/piquette3-management-console/.bundle/config): "1"
――― TEMPLATE END ――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
Notice: /Stage[main]/Gamesys_httpd_management_console/Gamesys_rbenv::Rbexec[run_piquette_management_console_deploy_script]/Exec[run_piquette_management_console_deploy_script]/returns:
Unfortunately, an unexpected error occurred, and Bundler cannot continue.
Notice: /Stage[main]/Gamesys_httpd_management_console/Gamesys_rbenv::Rbexec[run_piquette_management_console_deploy_script]/Exec[run_piquette_management_console_deploy_script]/returns:
First, try this link to see if there are any existing issue reports for this error:
https://github.com/bundler/bundler/search?q=undefined+local+variable+or+method+%60mirror_source%27+for+%23%3CBundler%3A%3ASettings%3A0x00000001756ba0%3E&type=Issues
Notice: /Stage[main]/Gamesys_httpd_management_console/Gamesys_rbenv::Rbexec[run_piquette_management_console_deploy_script]/Exec[run_piquette_management_console_deploy_script]/returns:
If there aren't any reports for this error yet, please create copy and paste the report template above into a new issue. Don't forget to anonymize any private data! The new issue form is located at:
https://github.com/bundler/bundler/issues/new
/home/cassiano/.rbenv/versions/1.9.2-p180/lib/ruby/gems/1.9.1/gems/bundler-1.8.0/lib/bundler/spec_set.rb:92:in `block in materialize': Could not find rake-10.4.2 in any of the sources (Bundler::GemNotFound)
  from /home/cassiano/.rbenv/versions/1.9.2-p180/lib/ruby/gems/1.9.1/gems/bundler-1.8.0/lib/bundler/spec_set.rb:85:in `map!'
  from /home/cassiano/.rbenv/versions/1.9.2-p180/lib/ruby/gems/1.9.1/gems/bundler-1.8.0/lib/bundler/spec_set.rb:85:in `materialize'
  from /home/cassiano/.rbenv/versions/1.9.2-p180/lib/ruby/gems/1.9.1/gems/bundler-1.8.0/lib/bundler/definition.rb:132:in `specs'
  from /home/cassiano/.rbenv/versions/1.9.2-p180/lib/ruby/gems/1.9.1/gems/bundler-1.8.0/lib/bundler/definition.rb:177:in `specs_for'
  from /home/cassiano/.rbenv/versions/1.9.2-p180/lib/ruby/gems/1.9.1/gems/bundler-1.8.0/lib/bundler/definition.rb:166:in `requested_specs'
  from /home/cassiano/.rbenv/versions/1.9.2-p180/lib/ruby/gems/1.9.1/gems/bundler-1.8.0/lib/bundler/environment.rb:18:in `requested_specs'
  from /home/cassiano/.rbenv/versions/1.9.2-p180/lib/ruby/gems/1.9.1/gems/bundler-1.8.0/lib/bundler/runtime.rb:13:in `setup'
  from /home/cassiano/.rbenv/versions/1.9.2-p180/lib/ruby/gems/1.9.1/gems/bundler-1.8.0/lib/bundler.rb:122:in `setup'
  from /home/cassiano/.rbenv/versions/1.9.2-p180/lib/ruby/gems/1.9.1/gems/bundler-1.8.0/lib/bundler/setup.rb:18:in `<top (required)>'
  from <internal:lib/rubygems/custom_require>:29:in `require'
  from <internal:lib/rubygems/custom_require>:29:in `require'
/home/cassiano/.rbenv/versions/1.9.2-p180/lib/ruby/gems/1.9.1/gems/bundler-1.8.0/lib/bundler/spec_set.rb:92:in `block in materialize': Could not find rake-10.4.2 in any of the sources (Bundler::GemNotFound)
  from /home/cassiano/.rbenv/versions/1.9.2-p180/lib/ruby/gems/1.9.1/gems/bundler-1.8.0/lib/bundler/spec_set.rb:85:in `map!'
  from /home/cassiano/.rbenv/versions/1.9.2-p180/lib/ruby/gems/1.9.1/gems/bundler-1.8.0/lib/bundler/spec_set.rb:85:in `materialize'
  from /home/cassiano/.rbenv/versions/1.9.2-p180/lib/ruby/gems/1.9.1/gems/bundler-1.8.0/lib/bundler/definition.rb:132:in `specs'
  from /home/cassiano/.rbenv/versions/1.9.2-p180/lib/ruby/gems/1.9.1/gems/bundler-1.8.0/lib/bundler/definition.rb:177:in `specs_for'
  from /home/cassiano/.rbenv/versions/1.9.2-p180/lib/ruby/gems/1.9.1/gems/bundler-1.8.0/lib/bundler/definition.rb:166:in `requested_specs'
  from /home/cassiano/.rbenv/versions/1.9.2-p180/lib/ruby/gems/1.9.1/gems/bundler-1.8.0/lib/bundler/environment.rb:18:in `requested_specs'
  from /home/cassiano/.rbenv/versions/1.9.2-p180/lib/ruby/gems/1.9.1/gems/bundler-1.8.0/lib/bundler/runtime.rb:13:in `setup'
  from /home/cassiano/.rbenv/versions/1.9.2-p180/lib/ruby/gems/1.9.1/gems/bundler-1.8.0/lib/bundler.rb:122:in `setup'
  from /home/cassiano/.rbenv/versions/1.9.2-p180/lib/ruby/gems/1.9.1/gems/bundler-1.8.0/lib/bundler/setup.rb:18:in `<top (required)>'
  from <internal:lib/rubygems/custom_require>:29:in `require'
  from <internal:lib/rubygems/custom_require>:29:in `require'
/home/cassiano/.rbenv/versions/1.9.2-p180/lib/ruby/gems/1.9.1/gems/bundler-1.8.0/lib/bundler/spec_set.rb:92:in `block in materialize': Could not find rake-10.4.2 in any of the sources (Bundler::GemNotFound)
  from /home/cassiano/.rbenv/versions/1.9.2-p180/lib/ruby/gems/1.9.1/gems/bundler-1.8.0/lib/bundler/spec_set.rb:85:in `map!'
  from /home/cassiano/.rbenv/versions/1.9.2-p180/lib/ruby/gems/1.9.1/gems/bundler-1.8.0/lib/bundler/spec_set.rb:85:in `materialize'
  from /home/cassiano/.rbenv/versions/1.9.2-p180/lib/ruby/gems/1.9.1/gems/bundler-1.8.0/lib/bundler/definition.rb:132:in `specs'
  from /home/cassiano/.rbenv/versions/1.9.2-p180/lib/ruby/gems/1.9.1/gems/bundler-1.8.0/lib/bundler/definition.rb:177:in `specs_for'
  from /home/cassiano/.rbenv/versions/1.9.2-p180/lib/ruby/gems/1.9.1/gems/bundler-1.8.0/lib/bundler/definition.rb:166:in `requested_specs'
  from /home/cassiano/.rbenv/versions/1.9.2-p180/lib/ruby/gems/1.9.1/gems/bundler-1.8.0/lib/bundler/environment.rb:18:in `requested_specs'
  from /home/cassiano/.rbenv/versions/1.9.2-p180/lib/ruby/gems/1.9.1/gems/bundler-1.8.0/lib/bundler/runtime.rb:13:in `setup'
  from /home/cassiano/.rbenv/versions/1.9.2-p180/lib/ruby/gems/1.9.1/gems/bundler-1.8.0/lib/bundler.rb:122:in `setup'
  from /home/cassiano/.rbenv/versions/1.9.2-p180/lib/ruby/gems/1.9.1/gems/bundler-1.8.0/lib/bundler/setup.rb:18:in `<top (required)>'
  from <internal:lib/rubygems/custom_require>:29:in `require'
  from <internal:lib/rubygems/custom_require>:29:in `require'
@TimMoore
Copy link
Contributor

Thanks for the report! Definitely a bug, but I noticed in the code that this is triggered by an error-reporting line: raise ArgumentError, "Gem mirror sources must be absolute URIs (configured: #{mirror_source})" unless uri.absolute?

I notice this in your error report:

    mirror.http://rubygems.org
      You have not configured a value for `mirror.http://rubygems.org`
    mirror.https://rubygems.org
      You have not configured a value for `mirror.https://rubygems.org`

I guess it's tripping up on the missing values. You can delete those lines from your .bundle/config file if you're not using a mirror.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants