Pour rappel, Composer est un gestionnaire de dépendance PHP, très utilisé par les frameworks modernes, pour gérer et définir les différentes dépendances. Il est tout aussi utile pour les projets n'utilisant pas de framework. Son utilisation est très simple et permet via un fichier composer.json de lister les librairies dont votre projet à besoin.
Il y a une confusion entre les commandes install
et update
et dans quel cas elles doivent être utilisés. Pour mieux comprendre, il faut se pencher sur leur fonctionnement et sur le rôle du fichier composer.lock.
php composer.phar install
Cette commande va regarder si un fichier composer.lock existe. Si c'est le cas elle va télécharger et installer les librairies avec la version spécifiée dans le fichier composer.lock., Si ce n'est pas le cas, elle va appeler composer update
qui en génèrera un.
php composer.phar update
Cette commande va regarder le contenu du fichier composer.json. Elle va télécharger et installer les versions les plus récentes des librairies en respectant les versions demandés dans votre fichier composer.json. Pour finir, elle va mettre à jours le fichier composer.lock pour refléter les versions qui viennent d'être installées.
Le fichier composer.lock
est très important puisqu'il transcrit précisément toutes les versions des librairies installées. Si vous utilisez un VCS (comme GIT), ce fichier doit être suivi pour que toute l'équipe utilise les mêmes versions et ainsi avoir un workflow homogène.
Attention : Il ne faut jamais faire de composer update
sur le server de production, seulement en développement. En effet, comme la commande va chercher les dernières versions des librairies, vous aurez un décallage avec la version en développement.