composer est un gestionnaire de dépendances. Il permet d'ajouter des paquets (parfois appelés modules ou, en anglais, packages) dans notre application tout en s'assurant que tous les autres paquets requis soient automatiquement ajoutés.
Composer est installé par défaut dans une boîte Homestead.
Il peut être installé dans tout environnement comme suit.
Ouvrez une fenêtre Terminal.
Placez-vous dans le dossier de votre application.
Entrez ces commandes 1 :
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php -r "if (hash_file('sha384', 'composer-setup.php') === '756890a4488ce9024fc62c56153228907f1545c228516cbf63f885e036d37e9a59d27d63f46af1d4d07ee0f76181c7d3') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
php composer-setup.php
php -r "unlink('composer-setup.php');"
Sous Windows, il faut télécharger le fichier d'installation que vous trouverez sur cette page : https://getcomposer.org/doc/00-intro.md#installation-windows.
Les commandes composer sont lancées à partir de la console ssh. Vous devez vous placer dans le dossier de votre application sur la machine virtuelle avant de lancer une commande composer.
Les commandes composer utilisent généralement le format suivant :
composer action editeur/paquet --options
Voici quelques commandes composer utiles. Notez que pour certaines, vous pourriez avoir besoin de faire un sodu.
Commande | Utilité | Exemple |
---|---|---|
composer create-project | Crée un projet Laravel. |
composer create-project laravel/laravel nomprojet --prefer-dist
composer create-project laravel/laravel nomprojet 5.7.* |
Ajoute un paquet et de ses dépendances. | composer require knplabs/knp-snappy | |
Retire un paquet. Ceci enlèvera la référence dans le fichier composer.json, supprimera le ou les dossiers correspondants sous le dossier vendor puis fera un composer dump-autoload -o. | composer remove laravelcollective/html | |
composer install |
Installe tous les paquets listés dans le fichier composer.json ainsi que toutes leurs dépendances en respectant les versions précisées dans composer.lock. Se charge de regénérer la liste des classes qui doivent être incluses dans le projet (composer dump-autoload -o). Pour faire l'équivalent sans console SSH (ex : avec un hébergement partagé), le plus simple est de recopier le dossier vendor au complet à partir du serveur de développement vers les dossiers du site Web chez votre hébergeur. |
|
composer outdated |
Affiche la liste des paquets, parmi ceux listés dans le fichier composer.json, pour lesquels une nouvelle version est disponible. |
|
composer update |
Comme composer install mais va chercher toutes les versions les plus récentes. Les fichiers composer.json et composer.lock seront modifiés pour indiquer les versions utilisées. Attention : ceci pourrait changer la version de Laravel utilisée et vous forcer à modifier des sections de votre code, tel que spécifié dans le guide de mise à jour de Laravel. Il est possible de ne mettre à jour qu'un seul paquet. Composer ira lire la version dans composer.json et ajustera les fichiers du paquet pour qu'ils correspondent à cette version. |
composer update
composer update proengsoft/laravel-jsvalidation |
Regénére la liste des classes qui doivent être incluses dans le projet. L'option -o tient pour « optimize ». Elle devrait toujours être utilisée sauf peut-être pendant le développement si le temps nécessaire pour faire l'optimisation est trop long. Pour faire l'équivalent sans console SSH (ex : avec un hébergement partagé), vous devez supprimer le fichier vendor\autoload.php ainsi que tous les fichiers présents dans le dossier vendor\composer sur le serveur puis les remplacer par ceux générés par cette commande sur votre serveur de développement. |
||
composer self-update | Met à jour composer lui-même. On peut aussi préciser une version. |
composer self-update composer self-update 1.9.0 |
composer self-update --update-keys | Réinitialise les clés de composer - pourrait régler certains problèmes obtenus lors d'un composer require. Pour obtenir les clés, rendez-vous à https://composer.github.io/pubkeys.html. | |
composer diagnose | Diagnostic des problèmes courants. | |
composer clear-cache | Vide la mémoire cache - pourrait régler certains problèmes obtenus lors d'un composer require | |
composer show | Affiche la liste des paquets installés et de leur version | |
composer -v | Mode versbose : Affiche la version de Composer ainsi que les options disponibles | |
composer -V | Affiche la version de Composer |
1. « Download Composer ». Composer. https://getcomposer.org/download/
« Command-line interface / Commands ». Composer. https://getcomposer.org/doc/03-cli.md
« What does ‘composer dump-autoload’ do in Laravel? ». developped.be. http://developed.be/2014/08/29/composer-dump-autoload-laravel/
« PHP: The Composer Lock File ». Dayle Rees. https://daylerees.com/the-composer-lock-file/
▼Publicité