J'essaie de comprendre cette partie: http://getcomposer.org/doc/02-libraries.md#lock-file
ce fichier de verrouillage n'aura aucun effet sur les autres projets qui en dépendent. Cela n'a d'effet que sur le projet principal "
Est-ce à dire que si le projet P dépend de la bibliothèque A et que la bibliothèque A dépend de la bibliothèque B v1.3, le projet P ne se souciera pas de la version de la bibliothèque B et installera éventuellement B 1.4 à la place? Quel est le point alors?
Ou cela signifie-t-il le contraire, comme on pourrait s'y attendre d'un gestionnaire de dépendance?
Les dépendances du compositeur sont définies dans composer.json
. Lorsque vous exécutez composer installez pour la première fois ou lorsque vous exécutez composer mettez à jour un fichier de verrouillage appelé composer.lock
sera créé.
La documentation citée se réfère uniquement au fichier de verrouillage. Si votre projet P dépend de la bibliothèque A et A dépend de B v1.3. ***, alors si A contient un fichier de verrouillage indiquant que quelqu'un a exécuté la "mise à jour du compositeur" entraînant l'installation de B v1.3.2, puis installer A dans votre projet P pourrait toujours installer 1.3.3, car le composer.json
(ne pas .lock
!) a défini la dépendance sur 1.3. *.
Les fichiers de verrouillage contiennent toujours des numéros de version exacts et sont utiles pour communiquer la version avec laquelle vous avez testé à vos collègues ou lors de la publication d'une application. Pour les bibliothèques, les informations de dépendance dans composer.json
est tout ce qui compte.
composer.lock
enregistre les versions exactes installées. Pour que vous soyez dans les mêmes versions avec vos collègues.
installation du compositeur
composer.lock
fichiercomposer.lock
fichier (en utilisant composer update
)composer.lock
fichiermise à jour du compositeur
composer.json
fichiercomposer.lock
fichier avec les versions installéesDonc, dans une simple liste de contrôle.
Si vous souhaitez conserver tous les collègues dans les mêmes versions que vous ...
composer.lock
vers GIT (ou vcs que vous avez)composer.lock
fichiercomposer install
pour obtenir les bonnes dépendancesSi vous souhaitez mettre à niveau les dépendances système vers de nouvelles versions
composer update
composer.lock
fichier avec les dernières versionscomposer install
Ce sera une très bonne lecture
https://blog.engineyard.com/2014/composer-its-all-about-the-lock-file
Profitez de la puissance de composer.lock
fichier!
Le but du fichier de verrouillage est d'enregistrer les versions exactes qui sont installées afin qu'elles puissent être réinstallées. Cela signifie que si vous disposez d'une version de spécification de 1. * et que votre collègue exécute composer update
qui installe 1.2.4, puis valide le fichier composer.lock, lorsque vous composer install
, vous obtiendrez également la version 1.2.4, même si la version 1.3.0 a été publiée. Cela garantit que tous ceux qui travaillent sur le projet ont la même version exacte.En savoir plus ici Compositeur: tout est sur le fichier de verrouillage