J'ai cette ligne dans mon fichier composer.json:
"require": {
...
"friendsofsymfony/user-bundle": "~2.0@dev",
...
},
Qu'est-ce que le tilde ~
en ~2.0@dev
dire exactement? Est - ce un espace réservé et doit toujours chercher les subversions comme 1.2.0
, 2.2.0
, 3.2.0
et ainsi de suite? Cela n'a pas de sens (et serait fait par le *
joker).
La documentation de composer.json ne dit rien sur le tilde.
Je demande parce que je viens de lire sur un problème de sécurité dans le blog Symfony et ils recommandent de passer à la version 1.3.3. Mais comprendre la version de FOSUserBundle n'est pas si simple (je n'ai pas trouvé de fichier contenant la version).
la source
~2.2
signifie 2,2 et n'importe quel 2.x où x est égal ou supérieur à 2.~2.1.3
sur le est également tout 2.1.x où x est 3 ou plus.~2.0
différent de2.*
? Est-ce seulement utile si le dernier chiffre n'est pas 0?Tilde
L'opérateur est utile pour les projets qui version leurs bibliothèques à l'aide desemantic versioning
schéma.Semantic versioning
est plus une directive qui évalue à lanext significant release
.Pour Composer, cet opérateur signifie autoriser les versions mineures (qui peuvent inclure des correctifs) sans autoriser une version majeure (qui peut ne pas être rétrocompatible) lors de l' installation et de la mise à jour .
Par exemple:
~4.1
autorisera les versions de projet>=4.1
mais<5.0
.Crédits: http://dwellupper.io/post/37/using-tilde-range-operator-to-resolve-dependency-version-in-composer-php
la source
Le tilde
~
à~2.0@dev
dire exactement d'aller pour la version immédiate:Par exemple :
Si nous l'avons,
~2.0@dev
il passe à la prochaine version immédiate=> ~2.x@dev
la source