Les contraintes de version dans Composer

A chaque fois je me pose la question si je dois mettre un ^ ou un ~ avant le numéro de version de ce paquet super pratique que je vais intégrer.

Quand je reprend le projet quelques mois plus tard, mon composer update met à jour le paquet et ça ne marche plus.

Voici LE site qui permet de savoir exactement quelles versions seront installées de ce paquet :

https://semver.mwl.be/

Vous pouvez jouer avec le ^ ou ~ c’est visuellement explicite ????

En bas de page, vous n’avez plus qu’à copier/coller le code composer.

Tout ceci est aussi parfaitement expliqué via ces exemples provenant du site madewithlove.be

There are also some syntactic sugar operators like ~ (tilde) and ^ (caret).

 means >=4.1.3,<4.2.0,

 means >=4.1.0,<5.0.0 (most used),

 means >=0.4.0,<1.0.0,

 means >=4.0.0,<5.0.0.

The caret sign is slightly different:

 (most used) means >=4.1.3,<5.0.0,

 means >=4.1.0,<5.0.0, same as ~4.1 but:

 means >=0.4.0,<0.5.0, this is different from ~0.4and is more useful for defining backwards compatible version ranges.

 means >=4.0.0,<5.0.0 which is the same as ~4 and 4.*.