What is the difference between ~> and >= when specifying rubygem in Gemfile?
I often see the following notation(~>) in Gemfile. gem "cucumber", "~>0.8.5" gem "rspec", "~>1.3.0" I know the sign (>=) is just greater or equal to, but what does the (~>) notation mean? Are they both same or has any significant difference? That's a pessimistic version constraint . RubyGems will increment the last digit in the version provided and use that until it reaches a maximum version. So ~>0.8.5 is semantically equivalent to: gem "cucumber", ">=0.8.5", "<0.9.0" The easy way to think about it is that you're okay with the last digit incrementing to some arbitrary value, but the ones