Eso es pessimistic version constraint. RubyGems incrementará el último dígito en la versión provista y lo usará hasta que alcance una versión máxima. Así ~>0.8.5
es semánticamente equivalente a:
gem "cucumber", ">=0.8.5", "<0.9.0"
La manera más fácil de pensar en ello es que estás de acuerdo con el último dígito incrementando hasta cierto valor arbitrario, pero los que lo preceden en la cadena no puede ser mayor de lo que proporcionaste Por lo tanto, para ~>0.8.5
, cualquier valor es aceptable para el tercer dígito (el 5) siempre que sea mayor o igual a 5, pero el 0,8 líder debe ser "0,8".
Puede hacer esto, por ejemplo, si cree que la versión 0.9 va a implementar algunos cambios bruscos, pero sabe que toda la serie de lanzamientos 0.8.x es solo una corrección de errores.
Sin embargo, simplemente usando ">=0.8.5"
indicaría que cualquier versión posterior a (o igual a) 0.8.5 es aceptable. No hay límite superior.
Véase también: [Significado de '~>' en el requisito de versión] (http://StackOverflow.Com/q/3414337/#3416289). –
'~>' a veces se denomina "operador de esperma". –
¿Puedes especificar un rango para la versión de Ruby en tu Gemfile? P.ej. 'ruby" ~> 2.0 "' – Dennis