2012-01-02 19 views
19

Mi pregunta es más o menos en el título.¿Qué significa el ~> symbol en un bundter Gemfile?

p. Ej. en el Gemfile predeterminado creado con una aplicación Rails 3.1;

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

Parece que ya debería saberlo pero no puedo encontrar ninguna referencia en el sitio web de Bundler.

+0

duplicados de http://stackoverflow.com/questions/5170547/what-does-tilde-greater-than-mean-in-ruby-gem-dependencies – Waseem

+0

lo tanto, es , pero una búsqueda decente no encontró esa pregunta. – brad

+1

¡Sin sudar! Hay mucho espacio en Interwebs. Una pequeña duplicación es bastante buena. :) – Waseem

Respuesta

18

Desde el sitio web bundler:

El especificador ~> tiene un significado especial, se ve mejor con el ejemplo. ~> 2.0.3 es idéntico a> = 2.0.3 y < 2.1. ~> 2.1 es idéntico a> = 2.1 y < 3.0. ~> 2.2.beta coincidirá con versiones preliminares como 2.2.beta.12.

Ver http://gembundler.com/gemfile.html y http://guides.rubygems.org/patterns/#pessimistic-version-constraint

+0

de ninguna manera! Significa también '<3.0' – Uko

+0

Sí, tienes razón y fui demasiado rápido con mi respuesta y ya estaba editando, ¡lo siento! –

+0

De acuerdo, había estado leyendo el manual de gemfile que no parecía tener esa información. ¡Debería haberse quedado en las páginas bonitas! – brad

13

Suele usar esto para decirle a bundler que está bien instalar algunas actualizaciones menores (el último dígito especificado puede variar) pero no instalar algunas actualizaciones importantes.

En realidad ~> 2.0.3 es idéntico a >= 2.0.3 y < 2.1. ~> 2.1 es idéntica a >= 2.1 y < 3.0

Lea más en http://gembundler.com/gemfile.html