Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Because the
async
gem, which is a (distant) dependency ofgithub_changelog_generator
, introduces a Ruby version constraint of>=3.1.1
for the2.x
series, bundling on a machine with Ruby3.1.1
installed will result in a differentGemfile.lock
(ie withasync > 2
) than bundling on a machine with an earlier Ruby version (which getsasync < 2
). If you're in the second group and your colleague is in the first,bundle install
fails with an unhelpful error:In fact the behaviour of bundler here is quite confusing because it says that
async (2.0.3)
has been removed by the author, which isn't actually true — it's just that the version in theGemfile.lock
can't be reconciled with the local Ruby version. This incorrect error is a bug inbundler
! They've fixed it, but haven't released it yet, afaics.rubygems/rubygems#5525
Note that this only affects dev environments:
github_changelog_generator
is a development dependency only so the official Ruby version supported bydfe-analytics
is still2.7
.Alternative to pinning a Ruby version for dev is to explicitly depend on
async
< 2.0
in thegemspec
, but that's a bit weird and mysterious considering it's not our direct dependency.