Is it possible to verify if all gems in a Gemfile.lock exist at https://rubygems.org? - i.e. enhance `bundle check`
Nobody has claimed this yet.
- 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
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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