le compositeur.verrouillage:comment ça fonctionne?
-
12-12-2019 - |
Question
Je suis en train d'essayer de comprendre cette partie: http://getcomposer.org/doc/02-libraries.md#lock-file
ce fichier de verrouillage n'aura pas d'effet sur d'autres projets qui en dépendent.Il a uniquement un effet sur le projet principal"
Est-ce à dire que, si le projet P dépend de la bibliothèque, et la bibliothèque dépend de la bibliothèque B v1.3, du projet P se soucient pas de la version de bibliothèque B, et, éventuellement, installer B 1.4 au lieu de cela?Quel est l'intérêt?
Ou faut-il dire le contraire, que l'on pourrait attendre d'un gestionnaire de dépendance?
La solution
Compositeur dépendances sont définis dans composer.json
.Lors de l'exécution de compositeur installer pour la première fois, ou lors de l'exécution de compositeur de mise à jour d'un fichier de verrouillage appelé composer.lock
sera créé.
La cité de la documentation se réfère au fichier de verrouillage uniquement.Si votre projet P dépend de la bibliothèque A et A dépend de B v1.3.***, ensuite, si A contient un fichier de verrouillage en disant que quelqu'un a couru "compositeur de mise à jour" qui résulte de B v1.3.2 en cours d'installation, puis installer Une dans votre projet P peut toujours installer 1.3.3, comme l' composer.json
(pas .lock
!) définit la dépendance pour être sur de 1,3.*.
Verrouiller les fichiers contiennent toujours exacte des numéros de version, et sont utiles pour communiquer la version que vous avez testé avec des collègues ou lors de la publication d'une application.Pour les bibliothèques, les informations de dépendance de composer.json
est tout ce qui compte.
Autres conseils
composer.lock
enregistre les versions exactes qui sont installés.De sorte que vous êtes dans la même versions avec vos collègues.
compositeur installer
- Vérifier
composer.lock
fichier - Si non, auto générer
composer.lock
fichier (à l'Aide decomposer update
) - Installer le spécifiée versions enregistrées dans le
composer.lock
fichier
compositeur de mise à jour
- Aller à travers les
composer.json
fichier - Vérifier la disponibilité de versions plus récentes (dernière) versions, selon la version des critères mentionnés (par ex.1.12.*)
- Installer le plus tard possible (d'après ci-dessus) les versions
- Mise à jour
composer.lock
fichier avec les versions installées
Ainsi, dans une simple liste de vérification.
Si vous voulez garder tous les co-travailleurs dans les mêmes versions que vous...
- Engager votre
composer.lock
GIT (ou vcs vous avez) - Demandez à d'autres personnes pour obtenir la version de
composer.lock
fichier - Toujours utiliser
composer install
pour obtenir les bonnes dépendances
Si vous voulez mettre à niveau le système de dépendances vers les nouvelles versions
- Vérifier le compositeur.fichier json pour la version des spécifications.
- Faire un
composer update
- Cela va changer la
composer.lock
fichier avec les versions les plus récentes - S'engager pour le GIT (ou vcs)
- Demander à d'autres de le faire et de la
composer install
La suite 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 point de verrouillage de fichier pour enregistrer les versions exactes qui sont installés de sorte qu'ils peuvent être ré-installé.Cela signifie que si vous avez une version spec de 1.* et votre co-travailleur exécute composer update
qui installe 1.2.4, puis engage le compositeur.fichier de verrouillage, lorsque vous composer install
, vous obtiendrez également 1.2.4, même si 1.3.0 a été libéré.Cela garantit tout le monde travaille sur le projet a exactement la même version.Lire la suite ici Compositeur:Il est Tout au Sujet du Fichier de Verrouillage