ruby / ruby/rubygems

Is bundler fetching a gem **before** showing the "Fetching gem" message on screen?

Open
#3,305 11 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

  • #7622 by @jordan-brough — closed without merging
Bundler status: ready
Dominant language
Ruby
Stars
4k
Forks
1.9k
Avg merge
1d 2h
Merged PRs (30d)
81

Description

I recently found that, when deploying to Heroku (which is currently using Bundler 1.17.3), bundler's ouput was stalling for several minutes:

(... messages here ...)
remote: Installing devise-security 0.14.3
(... output **stopped for 4 minutes 45 seconds** - and then all the messages below showed immediately)
remote: Fetching bootstrap-sass 3.4.1
remote: Fetching sassc-rails 2.1.2
remote: Installing sassc-rails 2.1.2
remote: Installing bootstrap-sass 3.4.1
remote: Bundle complete! 56 Gemfile dependencies, 119 gems now installed.
remote: Gems in the groups development and test were not installed.
(... more messages here ...)

@schneems was very helpful in finding the source of the problem. At the beginning we thought it might be a problem with the devise-security gem, but we soon found that the culprits were bootstrap-sass and sassc, which were taking a long time to fech/install.

The thing is that bundler did not show the "Fetching bootstrap-sass" message until it was downloaded/installed - so we could not know why the output was stalling, as the last message shown was "Fetching devise-security" (that's why we though there was an issue with devise-security).

Could this somehow be an issue with bundler ordering, and how messages are shown on screen? Maybe something could be done so that bundler does not mislead us about which gem is taking so long to download/install?

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No files or tests are named. Start by reproducing the reported Bundler 1.17.3 deployment behavior and trace when fetch and install messages are emitted; done means the output identifies each gem before its potentially slow download or installation.

Written by the indexing model from the issue text.

Assessment

Tech stack
ruby
Domain
tooling
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.