ruby / ruby/rubygems

Is it possible to verify if all gems in a Gemfile.lock exist at https://rubygems.org? - i.e. enhance `bundle check`

Open
#4,487 6 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Bundler type: feature request
Dominant language
Ruby
Stars
4k
Forks
1.9k
Avg merge
1d 2h
Merged PRs (30d)
81

Description

Background

I recently updated my elastic beanstalk platform version, and it failed due to the following error:

Your bundle is locked to mimemagic (0.3.3), but that version could not be found in any of the sources listed in your Gemfile. If you haven't changed sources, that means the author of mimemagic (0.3.3) has removed it. You'll need to update your bundle to a version other than mimemagic (0.3.3) that hasn't been removed in order to install.

It was difficult to debug due to all the complexities of a managed deploy system.

The reason it failed is that the author of mimemagic has removed version 0.3.3, and so I needed to update the gem to 0.3.6. (see gem versions history here: https://rubygems.org/gems/mimemagic/versions)

Feature Suggestion

Given the above, it would be incredibly useful to be able to run a command that scans the gems and versions in your Gemfile.lock and hits https://rubygems.org to verify that they all exist and are still available?

It would be similar to what bundle check does, but instead of looking for the gems on your local machine, it would look for them at the remote source. Something like bundle check --remote or bundle check --source?

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

Start by reading the existing bundle check command and how it reads Gemfile.lock. Define the remote-source check for every locked gem and version, then verify that unavailable versions are reported clearly when checking against rubygems.org.

Written by the indexing model from the issue text.

Assessment

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.