139 votes

Ce n'tilde-supérieur (~>) signifie en Ruby gem dépendances?

Qu'est - ~> moyenne dans le contexte de Ruby gem depenedencies?

Par exemple, lors de l'ouverture d'un projet de l'héritage dans le RubyMine IDE, j'obtiens ceci message

Gemmes pour le projet ne sont pas connectés:
arel (~> 2.0.2),
rspec-attente (~> 2.5.0)...

J'ai vu cette tilde-plus grande que la notation ailleurs dans le Rubis du monde (ce n'est pas spécifiques à RubyMine). Est-ce à l'opérateur de disposer d'un nom autre que le maladroit à consonance tilde-plus-que?

195voto

sepp2k Points 157757

Il signifie "égal à ou plus grand que dans le dernier chiffre", donc, par exemple, ~> 2.3moyen "égale à 2.3 ou supérieure à 2.3, mais au moins 3,0", tandis que d' ~> 2.3.0serait signifie "égal à 2.3.0 ou supérieure à 2.3.0, mais moins de 2.4.0".

Vous pouvez le prononcer comme "environ plus grand que".

§ Pessimiste version contrainte

2voto

ashays Points 493

Selon l'internet

Si un RubyGem dépendance utilise la syntaxe "~> 1.4.37", qui signifie "une version supérieure ou égale à 1.4.37, mais pas 1.5 ou supérieur." 1

En d'autres termes, pour vous
arel peut 2.1 > version >= 2.0.2 et
rspec-expectation peut 2.6 > version >= 2.5.0.

2voto

Augusto Points 14531

cela signifie apporter toute version inférieure égale ou supérieure à, mais pas une version majeure.

Ainsi, par exemple, arel (~> 2.0.2), va utiliser (si disponible) versions

  • 2.0.2
  • 2.0.3
  • 2.0.? (tant que ? est >= 2)

mais il n'est pas utilisé 2.1.?

1voto

Michael Papile Points 4679

Ce que cela signifie, c'est que vous vous attendez à un joyau qui est la version 2.0.2 ou plus, mais pas 2.1 dans le cas d' arel (~> 2.0.2) Ceci est fait car les gens ne sont pas censés libérer de briser les changements de syntaxe dans des révisions mineures. Donc, arel 2.0.3 devrait avoir un bug/corrections de stabilité sur 2.0.2

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X