Qu'est-ce que ~>
_ signifie dans le contexte de Ruby dépendances gemmes?
Par exemple, lors de l'ouverture d'un projet hérité dans l'EDI RubyMine, le message suivant s'affiche:
Les pierres précieuses requises pour le projet ne sont pas jointes: Arel (~> 2.0.2), Rspec-expectation (~> 2.5.0) ...
J'ai vu cette notation tilde supérieure au reste de l'univers Ruby (ce n'est pas spécifique à RubyMine). Cet opérateur a-t-il un nom autre que le son maladroit tilde -plus-que?
Cela signifie "égal ou supérieur au dernier chiffre", donc par ex. ~> 2.3
signifie "égal à 2,3 ou supérieur à 2,3, mais inférieur à 3,0", tandis que ~> 2.3.0
signifierait "égal à 2.3.0 ou supérieur à 2.3.0, mais inférieur à 2.4.0".
Vous pouvez le prononcer comme "approximativement plus grand que".
cela signifie apporter une version inférieure égale ou supérieure à, mais pas une version majeure.
Ainsi, par exemple, arel (~> 2.0.2)
utilisera (le cas échéant) des versions.
mais il n'utilisera pas 2.1.?
Selon internet
Si une dépendance RubyGem utilise la syntaxe "~> 1.4.37", cela signifie "une version supérieure ou égale à 1.4.37, mais pas 1.5 ou supérieure". 1
En d'autres termes, pour vousarel
peut être 2.1 > version >= 2.0.2
etrspec-expectation
peut être 2.6 > version >= 2.5.0
.
Cela signifie que vous attendez une gemme de version 2.0.2 ou supérieure, mais pas 2.1 dans le cas de arel (~> 2.0.2)
. Ceci est fait car les utilisateurs ne sont pas censés publier des modifications de syntaxe de rupture dans les révisions mineures. Alors arel 2.0.3
devrait avoir des corrections de bogues/stabilité sur la version 2.0.2