Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bundler should always redact credentials from verbose bundle install messages #3178

Closed
dgholz opened this issue Dec 19, 2019 · 2 comments · Fixed by #4564
Closed

Bundler should always redact credentials from verbose bundle install messages #3178

dgholz opened this issue Dec 19, 2019 · 2 comments · Fixed by #4564

Comments

@dgholz
Copy link

dgholz commented Dec 19, 2019

Hello, I created a Gemfile like:

source "https://www.example.com/"

gem "hello"

and ran bundle config www.example.com howdy:SECRET_PASSWORD

When I ran bundle install --verbose I saw the credentials were sometimes redacted:

Bundler::Fetcher::FallbackError: Net::HTTPNotFound: https://howdy@www.example.com/versions
[...]
Retrying fetcher due to error (1/4): Bundler::HTTPError Could not fetch specs from https://www.example.com/
Gem::RemoteFetcher::FetchError: bad response Not Found 404 (https://howdy:REDACTED@www.example.com/specs.4.8.gz)

and sometimes not:

Running `bundle install --verbose` with bundler 2.0.2
Found changes from the lockfile, re-resolving dependencies because the list of sources changed, the dependencies in your gemfile changed
HTTP GET https://howdy:SECRET_PASSWORD@www.example.com/versions
HTTP 404 Not Found https://howdy:SECRET_PASSWORD@www.example.com/versions
Bundler::Fetcher::FallbackError: Net::HTTPNotFound: https://howdy@www.example.com/versions

I think that the log messages from bundle install --verbose should redact sensitive information/credentials whenever they are produced.

@dgholz
Copy link
Author

dgholz commented Dec 19, 2019

The complete log:

Running `bundle install --verbose` with bundler 2.0.2
Found changes from the lockfile, re-resolving dependencies because the list of sources changed, the dependencies in your gemfile changed
HTTP GET https://howdy:SECRET_PASSWORD@www.example.com/versions
HTTP 404 Not Found https://howdy:SECRET_PASSWORD@www.example.com/versions
Bundler::Fetcher::FallbackError: Net::HTTPNotFound: https://howdy@www.example.com/versions
/Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/fetcher/downloader.rb:40:in `fetch'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/fetcher/compact_index.rb:117:in `call'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/compact_index_client/updater.rb:53:in `block in update'
  /Users/danielholz/.rubies/ruby-2.6.5/lib/ruby/2.6.0/tmpdir.rb:93:in `mktmpdir'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/compact_index_client/updater.rb:31:in `update'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/compact_index_client.rb:82:in `update'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/compact_index_client.rb:69:in `update_and_parse_checksums!'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/fetcher/compact_index.rb:69:in `available?'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/fetcher/compact_index.rb:16:in `call'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/fetcher/compact_index.rb:16:in `block in compact_index_request'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/fetcher.rb:158:in `use_api'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/source/rubygems.rb:382:in `block in api_fetchers'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/source/rubygems.rb:382:in `select'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/source/rubygems.rb:382:in `api_fetchers'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/source/rubygems.rb:387:in `block in remote_specs'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/index.rb:11:in `build'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/source/rubygems.rb:386:in `remote_specs'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/source/rubygems.rb:89:in `specs'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/definition.rb:273:in `block (2 levels) in index'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/definition.rb:271:in `each'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/definition.rb:271:in `block in index'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/index.rb:11:in `build'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/definition.rb:268:in `index'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/definition.rb:258:in `resolve'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/definition.rb:170:in `specs'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/definition.rb:158:in `resolve_remotely!'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/installer.rb:310:in `resolve_if_needed'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/installer.rb:84:in `block in run'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/process_lock.rb:12:in `block in lock'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/process_lock.rb:9:in `open'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/process_lock.rb:9:in `lock'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/installer.rb:73:in `run'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/installer.rb:25:in `install'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/cli/install.rb:65:in `run'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/cli.rb:235:in `block in install'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/settings.rb:144:in `temporary'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/cli.rb:234:in `install'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/vendor/thor/lib/thor/command.rb:27:in `run'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/vendor/thor/lib/thor/invocation.rb:126:in `invoke_command'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/vendor/thor/lib/thor.rb:387:in `dispatch'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/cli.rb:27:in `dispatch'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/vendor/thor/lib/thor/base.rb:466:in `start'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/cli.rb:18:in `start'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/exe/bundle:30:in `block in <top (required)>'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/friendly_errors.rb:124:in `with_friendly_errors'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/exe/bundle:22:in `<top (required)>'
  /Users/danielholz/.gem/ruby/2.6.5/bin/bundle:23:in `load'
  /Users/danielholz/.gem/ruby/2.6.5/bin/bundle:23:in `<main>'
HTTP GET https://howdy:SECRET_PASSWORD@www.example.com/api/v1/dependencies
HTTP 404 Not Found https://howdy:SECRET_PASSWORD@www.example.com/api/v1/dependencies
Fetching source index from https://www.example.com/
Gem::RemoteFetcher::FetchError: bad response Not Found 404 (https://howdy:REDACTED@www.example.com/specs.4.8.gz)
/Users/danielholz/.rubies/ruby-2.6.5/lib/ruby/2.6.0/rubygems/remote_fetcher.rb:244:in `fetch_http'
  /Users/danielholz/.rubies/ruby-2.6.5/lib/ruby/2.6.0/rubygems/remote_fetcher.rb:262:in `fetch_path'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/rubygems_integration.rb:758:in `fetch_specs'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/rubygems_integration.rb:768:in `fetch_all_remote_specs'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/fetcher/index.rb:10:in `specs'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/fetcher.rb:129:in `block in specs'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/fetcher.rb:128:in `each'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/fetcher.rb:128:in `specs'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/fetcher.rb:113:in `block in specs_with_retry'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/retry.rb:40:in `run'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/retry.rb:30:in `attempt'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/fetcher.rb:112:in `specs_with_retry'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/source/rubygems.rb:411:in `block in fetch_names'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/source/rubygems.rb:404:in `each'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/source/rubygems.rb:404:in `fetch_names'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/source/rubygems.rb:390:in `block in remote_specs'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/index.rb:11:in `build'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/source/rubygems.rb:386:in `remote_specs'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/source/rubygems.rb:89:in `specs'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/definition.rb:273:in `block (2 levels) in index'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/definition.rb:271:in `each'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/definition.rb:271:in `block in index'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/index.rb:11:in `build'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/definition.rb:268:in `index'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/definition.rb:258:in `resolve'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/definition.rb:170:in `specs'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/definition.rb:158:in `resolve_remotely!'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/installer.rb:310:in `resolve_if_needed'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/installer.rb:84:in `block in run'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/process_lock.rb:12:in `block in lock'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/process_lock.rb:9:in `open'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/process_lock.rb:9:in `lock'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/installer.rb:73:in `run'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/installer.rb:25:in `install'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/cli/install.rb:65:in `run'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/cli.rb:235:in `block in install'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/settings.rb:144:in `temporary'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/cli.rb:234:in `install'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/vendor/thor/lib/thor/command.rb:27:in `run'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/vendor/thor/lib/thor/invocation.rb:126:in `invoke_command'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/vendor/thor/lib/thor.rb:387:in `dispatch'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/cli.rb:27:in `dispatch'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/vendor/thor/lib/thor/base.rb:466:in `start'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/cli.rb:18:in `start'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/exe/bundle:30:in `block in <top (required)>'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/friendly_errors.rb:124:in `with_friendly_errors'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/exe/bundle:22:in `<top (required)>'
  /Users/danielholz/.gem/ruby/2.6.5/bin/bundle:23:in `load'
  /Users/danielholz/.gem/ruby/2.6.5/bin/bundle:23:in `<main>'
Retrying fetcher due to error (2/4): Bundler::HTTPError Could not fetch specs from https://www.example.com/
Gem::RemoteFetcher::FetchError: bad response Not Found 404 (https://howdy:REDACTED@www.example.com/specs.4.8.gz)
/Users/danielholz/.rubies/ruby-2.6.5/lib/ruby/2.6.0/rubygems/remote_fetcher.rb:244:in `fetch_http'
  /Users/danielholz/.rubies/ruby-2.6.5/lib/ruby/2.6.0/rubygems/remote_fetcher.rb:262:in `fetch_path'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/rubygems_integration.rb:758:in `fetch_specs'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/rubygems_integration.rb:768:in `fetch_all_remote_specs'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/fetcher/index.rb:10:in `specs'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/fetcher.rb:129:in `block in specs'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/fetcher.rb:128:in `each'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/fetcher.rb:128:in `specs'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/fetcher.rb:113:in `block in specs_with_retry'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/retry.rb:40:in `run'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/retry.rb:30:in `attempt'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/fetcher.rb:112:in `specs_with_retry'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/source/rubygems.rb:411:in `block in fetch_names'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/source/rubygems.rb:404:in `each'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/source/rubygems.rb:404:in `fetch_names'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/source/rubygems.rb:390:in `block in remote_specs'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/index.rb:11:in `build'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/source/rubygems.rb:386:in `remote_specs'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/source/rubygems.rb:89:in `specs'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/definition.rb:273:in `block (2 levels) in index'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/definition.rb:271:in `each'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/definition.rb:271:in `block in index'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/index.rb:11:in `build'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/definition.rb:268:in `index'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/definition.rb:258:in `resolve'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/definition.rb:170:in `specs'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/definition.rb:158:in `resolve_remotely!'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/installer.rb:310:in `resolve_if_needed'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/installer.rb:84:in `block in run'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/process_lock.rb:12:in `block in lock'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/process_lock.rb:9:in `open'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/process_lock.rb:9:in `lock'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/installer.rb:73:in `run'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/installer.rb:25:in `install'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/cli/install.rb:65:in `run'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/cli.rb:235:in `block in install'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/settings.rb:144:in `temporary'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/cli.rb:234:in `install'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/vendor/thor/lib/thor/command.rb:27:in `run'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/vendor/thor/lib/thor/invocation.rb:126:in `invoke_command'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/vendor/thor/lib/thor.rb:387:in `dispatch'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/cli.rb:27:in `dispatch'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/vendor/thor/lib/thor/base.rb:466:in `start'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/cli.rb:18:in `start'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/exe/bundle:30:in `block in <top (required)>'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/friendly_errors.rb:124:in `with_friendly_errors'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/exe/bundle:22:in `<top (required)>'
  /Users/danielholz/.gem/ruby/2.6.5/bin/bundle:23:in `load'
  /Users/danielholz/.gem/ruby/2.6.5/bin/bundle:23:in `<main>'
Retrying fetcher due to error (3/4): Bundler::HTTPError Could not fetch specs from https://www.example.com/
Gem::RemoteFetcher::FetchError: bad response Not Found 404 (https://howdy:REDACTED@www.example.com/specs.4.8.gz)
/Users/danielholz/.rubies/ruby-2.6.5/lib/ruby/2.6.0/rubygems/remote_fetcher.rb:244:in `fetch_http'
  /Users/danielholz/.rubies/ruby-2.6.5/lib/ruby/2.6.0/rubygems/remote_fetcher.rb:262:in `fetch_path'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/rubygems_integration.rb:758:in `fetch_specs'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/rubygems_integration.rb:768:in `fetch_all_remote_specs'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/fetcher/index.rb:10:in `specs'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/fetcher.rb:129:in `block in specs'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/fetcher.rb:128:in `each'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/fetcher.rb:128:in `specs'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/fetcher.rb:113:in `block in specs_with_retry'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/retry.rb:40:in `run'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/retry.rb:30:in `attempt'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/fetcher.rb:112:in `specs_with_retry'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/source/rubygems.rb:411:in `block in fetch_names'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/source/rubygems.rb:404:in `each'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/source/rubygems.rb:404:in `fetch_names'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/source/rubygems.rb:390:in `block in remote_specs'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/index.rb:11:in `build'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/source/rubygems.rb:386:in `remote_specs'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/source/rubygems.rb:89:in `specs'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/definition.rb:273:in `block (2 levels) in index'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/definition.rb:271:in `each'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/definition.rb:271:in `block in index'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/index.rb:11:in `build'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/definition.rb:268:in `index'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/definition.rb:258:in `resolve'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/definition.rb:170:in `specs'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/definition.rb:158:in `resolve_remotely!'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/installer.rb:310:in `resolve_if_needed'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/installer.rb:84:in `block in run'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/process_lock.rb:12:in `block in lock'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/process_lock.rb:9:in `open'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/process_lock.rb:9:in `lock'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/installer.rb:73:in `run'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/installer.rb:25:in `install'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/cli/install.rb:65:in `run'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/cli.rb:235:in `block in install'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/settings.rb:144:in `temporary'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/cli.rb:234:in `install'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/vendor/thor/lib/thor/command.rb:27:in `run'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/vendor/thor/lib/thor/invocation.rb:126:in `invoke_command'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/vendor/thor/lib/thor.rb:387:in `dispatch'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/cli.rb:27:in `dispatch'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/vendor/thor/lib/thor/base.rb:466:in `start'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/cli.rb:18:in `start'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/exe/bundle:30:in `block in <top (required)>'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/friendly_errors.rb:124:in `with_friendly_errors'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/exe/bundle:22:in `<top (required)>'
  /Users/danielholz/.gem/ruby/2.6.5/bin/bundle:23:in `load'
  /Users/danielholz/.gem/ruby/2.6.5/bin/bundle:23:in `<main>'
Retrying fetcher due to error (4/4): Bundler::HTTPError Could not fetch specs from https://www.example.com/
Gem::RemoteFetcher::FetchError: bad response Not Found 404 (https://howdy:REDACTED@www.example.com/specs.4.8.gz)
/Users/danielholz/.rubies/ruby-2.6.5/lib/ruby/2.6.0/rubygems/remote_fetcher.rb:244:in `fetch_http'
  /Users/danielholz/.rubies/ruby-2.6.5/lib/ruby/2.6.0/rubygems/remote_fetcher.rb:262:in `fetch_path'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/rubygems_integration.rb:758:in `fetch_specs'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/rubygems_integration.rb:768:in `fetch_all_remote_specs'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/fetcher/index.rb:10:in `specs'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/fetcher.rb:129:in `block in specs'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/fetcher.rb:128:in `each'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/fetcher.rb:128:in `specs'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/fetcher.rb:113:in `block in specs_with_retry'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/retry.rb:40:in `run'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/retry.rb:30:in `attempt'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/fetcher.rb:112:in `specs_with_retry'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/source/rubygems.rb:411:in `block in fetch_names'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/source/rubygems.rb:404:in `each'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/source/rubygems.rb:404:in `fetch_names'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/source/rubygems.rb:390:in `block in remote_specs'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/index.rb:11:in `build'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/source/rubygems.rb:386:in `remote_specs'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/source/rubygems.rb:89:in `specs'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/definition.rb:273:in `block (2 levels) in index'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/definition.rb:271:in `each'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/definition.rb:271:in `block in index'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/index.rb:11:in `build'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/definition.rb:268:in `index'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/definition.rb:258:in `resolve'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/definition.rb:170:in `specs'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/definition.rb:158:in `resolve_remotely!'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/installer.rb:310:in `resolve_if_needed'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/installer.rb:84:in `block in run'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/process_lock.rb:12:in `block in lock'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/process_lock.rb:9:in `open'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/process_lock.rb:9:in `lock'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/installer.rb:73:in `run'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/installer.rb:25:in `install'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/cli/install.rb:65:in `run'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/cli.rb:235:in `block in install'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/settings.rb:144:in `temporary'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/cli.rb:234:in `install'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/vendor/thor/lib/thor/command.rb:27:in `run'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/vendor/thor/lib/thor/invocation.rb:126:in `invoke_command'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/vendor/thor/lib/thor.rb:387:in `dispatch'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/cli.rb:27:in `dispatch'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/vendor/thor/lib/thor/base.rb:466:in `start'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/cli.rb:18:in `start'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/exe/bundle:30:in `block in <top (required)>'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/lib/bundler/friendly_errors.rb:124:in `with_friendly_errors'
  /Users/danielholz/.gem/ruby/2.6.5/gems/bundler-2.0.2/exe/bundle:22:in `<top (required)>'
  /Users/danielholz/.gem/ruby/2.6.5/bin/bundle:23:in `load'
  /Users/danielholz/.gem/ruby/2.6.5/bin/bundle:23:in `<main>'
Could not fetch specs from https://www.example.com/

@hsbt hsbt transferred this issue from rubygems/bundler Mar 14, 2020
@deivid-rodriguez
Copy link
Member

It took me too long to get to this but #4564 should fix this!

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

Successfully merging a pull request may close this issue.

3 participants