What does the ~> symbol mean in a bundler Gemfile?

23,874

Solution 1

From the bundler website:

The specifier ~> has a special meaning, best shown by example:
'~> 2.0.3' is identical to '>= 2.0.3' and '< 2.1.'
'~> 2.1'     is identical to '>= 2.1'    and '< 3.0'.
'~> 2.2.beta' will match prerelease versions like '2.2.beta.12'.

See https://bundler.io/gemfile.html and http://guides.rubygems.org/patterns/#pessimistic-version-constraint

Solution 2

You usually use this to tell bundler that it's ok to install some minor updates (last digit specified can vary) but not to install some major update.

SO

~> 2.0.3 means >= 2.0.3< 2.1

and

~> 2.1 means >= 2.1< 3.0

Read more at https://bundler.io/gemfile.html

Share:
23,874
brad
Author by

brad

I'm a doctor, not an engineer!

Updated on May 21, 2020

Comments

  • brad
    brad almost 4 years

    What does the -> mean next to a version number in a Gemfile?

    For example:

    gem 'sass-rails',   '~> 3.1.5'