| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente |
| composer [Le 10/05/2020, 10:23] – [Pré-requis] 197.238.132.221 | composer [Le 09/03/2023, 11:29] (Version actuelle) – contrib !-) bcag2 |
|---|
| |
| * Avoir [[:php#installation|installé PHP]] en ligne de commande. | * Avoir [[:php#installation|installé PHP]] en ligne de commande. |
| <note tip>Sur Ubuntu le paquet [[apt>php-cli]] est enincipe installé par défaut avec n'importe quelle [[:php#installation|installation de PHP]], ou avec la pilhhjj yggve [[:LAMP]]. | <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> | Donc si vous utilisez déjà PHP vous n'avez très probablement rien de plus à installer.</note> |
| Pour installer **Composer** en suivant les [[https://getcomposer.org/download/|indications de la documentation officielle]], ouvrez un terminal et copiez-collez 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>php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" | <code bash> |
| php -r "if (hash_file('sha384', 'composer-setup.php') === 'e0012edf3e80b6978849f5eff0d4b4e4c79ff1609dd1e613307e16318854d24ae64f26d17af3ef0bf7cfb710ca74755a') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;" | php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" |
| sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer | 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 -r "unlink('composer-setup.php');"</code> | php composer-setup.php |
| | php -r "unlink('composer-setup.php');" |
| | </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 : | Vous pouvez désormais utiliser Composer : |
| <code>composer</code> | <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> |
| | |
| | ===== Mise à jour ===== |
| | Pour mettre à jour composer v2 entre 2 versions mineures (par exemple v2.3.x vers v2.5.x) : |
| | <code bash>composer self-update</code> |
| | |
| | En octobre 2020 est sortie [[https://blog.packagist.com/composer-2-0-is-now-available/|la version 2.0 de composer]]\\ |
| | Pour mettre à jour composer v1.x vers v2, vous pouvez exécuter :\\ |
| | <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 ===== | ===== Utilisation ===== |
| 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. | 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. | Pour chaque dépendance vous pouvez choisir de spécifier finement les versions à utiliser. |
| |
| ==== Installer des dépendances ==== | ==== Installer des dépendances ==== |
| |
| Si il s'agit de votre projet, il n'est donc pas nécessaire de le distribuer avec ce répertoire ''vendor/''. | 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> |
| | puis le ré-installer manuellement comme [[:composer#installation|expliqué plus haut]]. |
| |
| ===== Voir aussi ===== | ===== Voir aussi ===== |
| |
| ---- | ---- |
| //Contributeurs : [[:utilisateurs:d10g3n]], [[:utilisateurs:krodelabestiole]]// | //Contributeurs : [[:utilisateurs:d10g3n]], [[:utilisateurs:krodelabestiole]]//, [[:utilisateurs:bcag2]]// |