Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
composer [Le 28/07/2017, 17:31]
L'Africain lien tag
composer [Le 09/03/2023, 11:29] (Version actuelle)
bcag2 contrib !-)
Ligne 1: Ligne 1:
-{{tag>​php ​BROUILLON}} +{{tag>​php ​serveur programmation}}
- +
-----+
  
 ====== Composer ====== ====== Composer ======
  
-Le logiciel **Composer** est un gestionnaire de dépendances sous licence libre ([[wpfr>​Licence_publique_g%C3%A9n%C3%A9rale_GNU|GPL v3]]), écrit en PHP. Il permet à ses utilisateurs de déclarer et d'​installer les bibliothèques dont le projet principal a besoin. ​+Le logiciel **Composer** est un gestionnaire de dépendances sous licence libre ([[wpfr>​Licence_publique_g%C3%A9n%C3%A9rale_GNU|GPL v3]]), écrit en PHP. Il permet à ses utilisateurs de déclarer et d'​installer les bibliothèques dont le projet principal a besoin. Cela évite aux développeurs d'​avoir à distribuer leurs projets avec toutes les bibliothèques qu'ils utilisent. On peut donc le voir comme un équivalent de [[:APT]], pour les projets écrits en [[:PHP]].
  
 +Le dépôt principal de Composer est le site [[https://​packagist.org/​|Packagist]]. Il est très simple de publier ses projets sur cette plateforme, et elle rassemble une communauté particulièrement importante.
  
 ===== Pré-requis ===== ===== Pré-requis =====
  
-  * Avoir installé PHP en ligne de commande ​et curl+  * Avoir [[:​php#​installation|installé PHP]] en ligne de commande
 +<note tip>Sur Ubuntu le paquet [[apt>​php-cli]] est en principe installé par défaut avec n'​importe quelle [[:​php#​installation|installation de PHP]], ou avec la pile [[:​LAMP]]. 
 + 
 +Donc si vous utilisez déjà PHP vous n'avez très probablement rien de plus à installer.</​note>​
  
 ===== Installation ===== ===== Installation =====
  
-Pour installer **composer** , ouvrez un terminal et tapez les lignes suivantes :+Pour installer **Composer** en suivant les [[https://​getcomposer.org/​download/​|indications de la documentation officielle]], ouvrez un terminal et copiez-collez ​les lignes suivantes :
  
-<​code>​ +<​code ​bash
-curl -sS https://​getcomposer.org/​installer ​php +php -r "​copy('​https://​getcomposer.org/​installer', '​composer-setup.php'​);"​ 
-sudo mv composer.phar /​usr/​local/​bin/​composer.phar+php -r "if (hash_file('​sha384',​ 'composer-setup.php') === '​55ce33d7678c5a611085589f1f3ddf8b3c52d662cd01d4ba75c0ee0459970c2200a51f492d557530c71c15d8dba01eae'​) { echo '​Installer verified';​ } else { echo '​Installer corrupt';​ unlink('​composer-setup.php'); } echo PHP_EOL;"​ 
 +php composer-setup.php 
 +php -r "​unlink('​composer-setup.php'​);"​
 </​code>​ </​code>​
 +Adaptez éventuellement le hash ''​55ce33d7678c5a611085589f1f3ddf8b3c52d662cd01d4ba75c0ee0459970c2200a51f492d557530c71c15d8dba01eae''​ à celui de la dernière version (voir la [[https://​getcomposer.org/​download/​|documentation officielle]]).
 +<note important>​Réaliser ces commandes à partir de votre répertoire ///​home/​$USER///​ sinon le fichier //​composer.phar//​ sera dans le répertoire courant</​note>​
 +Vous pouvez désormais utiliser Composer :
 +<​code>​composer</​code>​
 +<note tip>Si la commande ''​composer''​ ne fonctionne pas, essayez :
 +<code bash>php composer.phar</​code>​
 +On peut aussi créer un [[:alias]] :
 +<code bash>​alias composer='​php ~/​composer.phar'</​code>​ </​note>​
  
-On va ensuite créer un alias permanent : +===== Mise à jour ===== 
-<​code>​ +Pour mettre ​à jour composer ​v2 entre 2 versions mineures (par exemple v2.3.x vers v2.5.x) ​
-gedit ~/.bashrc +<​code ​bash>composer self-update</​code>​
-</​code>​ +
-Ajouter la ligne suivante ​à la fin du fichier : +
-<​code>​ +
-alias composer='/​usr/​local/​bin/​composer.phar'​ +
-</​code>​ +
-Executer la commande suivante ​+
-<​code>​ +
-. ~/.bashrc +
-</​code>​+
  
-Vous pouvez ​désormais ​utiliser composer ​depuis ​n'importe quel point de l'arborescence ​+En octobre 2020 est sortie [[https://​blog.packagist.com/​composer-2-0-is-now-available/​|la version 2.0 de composer]]\\ 
-<​code>​ +Pour mettre à jour composer v1.x vers v2, vous pouvez ​exécuter :\\ 
-$composer+<code bash>​composer self-update --2</​code>​ 
 +<note important>​Cette mise à jour ne fonctionne que si vous aviez installé //​composer//​ suivant les instructions [[:​composer#​installation|d'​installation ci-dessus]],​ sinon, commencer par désinstaller la version du dépôt officiel <code bash>​sudo apt remove composer</​code></​note>​ 
 + 
 +===== Utilisation ===== 
 + 
 +==== Installer un projet existant ==== 
 + 
 +Pour installer un projet existant, la commande est la suivante : 
 +<​code>​composer create-project [le nom du projet sur packagist] [le répertoire dans lequel l'​installer]</​code>​ 
 +Remplacez évidemment ''​[le nom du projet sur packagist]''​ et ''​[le répertoire dans lequel l'​installer]''​ : 
 +  * le nom du projet sur [[https://​packagist.org/​|Packagist]] est de la forme ''​auteur/​projet''​ 
 +  * le répertoire dans lequel l'​installer peut être un nouveau répertoire,​ Composer le créera automatiquement. 
 + 
 +==== Déclarer des dépendances à un projet personnel ==== 
 + 
 +Composer fournit une méthode didactique pour la création d'un projet. 
 +Placez vous à la racine de votre projet puis lancez la commande : 
 +<​code>​composer init</​code>​ 
 +Une série de questions vous seront posées au sujet de votre projet. 
 + 
 +Ceci aura pour effet de créer un fichier ''​composer.json''​ contenant toutes les informations de votre projet (ce qui peut être utile dans le cadre d'une éventuelle publication sur [[https://​packagist.org/​|Packagist]] ;-)), dont surtout ses dépendances. 
 + 
 +Pour chaque dépendance vous pouvez choisir de spécifier finement les versions à utiliser
 + 
 +==== Installer des dépendances ==== 
 + 
 +Avec les fichiers d'un projet entre les mains, dont le fichier ''​composer.json'',​ la commande pour déployer les dépendances est la suivante : 
 +<​code>​composer install</​code>​ 
 +Cela aura pour effet de créer un répertoire ''​vendor/''​ dans lequel seront déployées toutes les bibliothèques PHP. 
 + 
 +Si il s'agit de votre projet, il n'est donc pas nécessaire ​de le distribuer avec ce répertoire ​''​vendor/''​. 
 + 
 +===== Problèmes courants ===== 
 + 
 +==== Impossible de mettre à jour ==== 
 + 
 +La mise à jour se fait normalement par 
 +<code bash>​composer self-update</​code>​ 
 +Si vous avez installé composer au moyen d'​[[:​APT]],​ il faut le désinstaller ​
 +<​code ​bash
 +sudo apt autoremove ​composer
 </​code>​ </​code>​
 +puis le ré-installer manuellement comme [[:​composer#​installation|expliqué plus haut]].
 +
 ===== Voir aussi ===== ===== Voir aussi =====
  
   * **(en)** [[https://​getcomposer.org/​]]   * **(en)** [[https://​getcomposer.org/​]]
-  ​* **(fr)** [[http://​openclassrooms.com/​courses/​developpez-votre-site-web-avec-le-framework-symfony2/​installer-un-bundle-grace-a-composer]]+  * [[http://​openclassrooms.com/​courses/​developpez-votre-site-web-avec-le-framework-symfony2/​installer-un-bundle-grace-a-composer]] 
 +  * [[https://​www.grafikart.fr/​tutoriels/​php/​composer-480|Un très bon tutoriel]], accompagné d'​[[https://​www.youtube.com/​watch?​v=EBZ1owgiSSQ|une vidéo]] sur le site de Grafikart.
  
 ---- ----
-//​Contributeurs ​principaux ​: [[utilisateurs:​d10g3n|d10g3n]]+//​Contributeurs : [[:utilisateurs:​d10g3n]], [[:​utilisateurs:​krodelabestiole]]//,​ [[:​utilisateurs:​bcag2]]//​
  • composer.1501255897.txt.gz
  • Dernière modification: Le 28/07/2017, 17:31
  • par L'Africain