Il existe une commande pour générer le composer.lock
à partir d'un composer.json
?
Quelque chose de semblable Ruby bundler
: $ bundle lock
La réponse est "non", vous devez générer le fichier de verrouillage en utilisant:
composer install
Installation sans composer.lock
Si vous n'avez jamais exécuté la commande Auparavant et que aucun fichier composer.lock présent , Composer Résout simplement toutes les dépendances répertoriées dans votre fichier composer.json et télécharge la dernière version de leurs fichiers dans le répertoire du fournisseur de votre projet.
Source: getcomposer.org
NB Problème potentiel: Sans le fichier de verrouillage, le compositeur utilisera la dernière version des dépendances.
Et compositeur se plaint du désynchronisation (je ne me souviens pas de l'avertissement exact), alors vous pouvez mettre à jour le fichier de verrouillage, mais cela ne fait que mettre à jour les hachages du fichier:
composer update --lock
Du manuel du compositeur:
--lock Ne met à jour que le hachage du fichier de verrouillage pour supprimer l'avertissement indiquant que le fichier de verrouillage est périmé.
Ce n'est pas possible de créer un fichier de verrouillage sans installer ou mettre à jour, ceci est inhérent à la conception (crédit à Manish Yadav )
Le fichier de verrouillage a pour objectif d’enregistrer les versions exactes installées afin qu’elles puissent être réinstallées. Cela signifie que si vous avez une version spécifiée de 1. * et que votre collègue exécute la mise à jour de composer qui installe 1.2.4, puis valide le fichier composer.lock. Lorsque vous installez Composer, vous obtiendrez également la version 1.2.4, même si 1.3.0 a été publié. Cela garantit que toutes les personnes travaillant sur le projet ont la même version exacte.