The trouble with pessimistic (
~>) versioning is that it still won’t catch pre-release library versions… or will it.
It actually can allow ‘beta’ versions by adding an ‘x’ to the version you’d like to catch.
gem "rails", "~> 5.x"
Since ‘beta’ versions (
5.0.0.beta3) actually register as higher than
5.0.0, the pessimistic operator will not catch the beta version. Gem versioning shows any version with a letter as ‘pre-release’ which is how
alpha versions work.
Using the ‘x’ as a wildcard will allow pre-release gem versions to be caught.Tweet