Installer Composer sur Ubuntu - Guide Complet et Sans Erreurs

Étienne Lambert .

1 juin 2026

Page Packagist affichant des paquets PHP. Recherche de "slug" pour installer Composer sur Ubuntu.
Composer est devenu l’outil de base dès qu’un projet PHP doit rester propre, reproductible et facile à déployer. Sur Ubuntu, l’installation est simple sur le papier, mais je vois souvent les mêmes erreurs revenir: PHP CLI absent, binaire mal placé dans le PATH, ou version installée sans logique de mise à jour. Ici, je vais aller droit au but: préparer la machine, installer Composer correctement, vérifier qu’il répond, puis l’utiliser sans casser un environnement DevOps.

L’essentiel à retenir avant d’installer Composer sur Ubuntu

  • Composer gère des dépendances PHP par projet, pas des paquets système comme apt.
  • Le vrai prérequis, c’est PHP en ligne de commande avec les outils de base comme curl et unzip.
  • Pour une machine de dev, je privilégie l’installateur officiel ou un binaire global placé dans le PATH.
  • La vérification après installation compte autant que l’installation: composer --version et composer diagnose évitent les faux positifs.
  • En CI/CD, je garde le projet reproductible avec composer.lock et une commande d’installation stable.

Pourquoi Composer compte quand on travaille sur Ubuntu

Je considère Composer comme un outil de cohérence technique avant d’être un simple installateur de bibliothèques. Il lit le fichier composer.json, résout les dépendances, puis installe exactement ce qu’un projet demande dans son dossier vendor. C’est ce qui le rend utile en DevOps: on ne dépend pas d’un état flou de la machine, on décrit un environnement et on le rejoue.

Sur Ubuntu, cette logique a un avantage concret. Une équipe peut garder la même version de PHP, les mêmes dépendances et la même arborescence sur un poste local, un serveur de recette et une image de build. Pour moi, c’est là que Composer devient vraiment intéressant: il réduit les écarts entre développement, intégration et déploiement.

Je rappelle aussi un point souvent mal compris: Composer n’est pas un remplaçant de apt. apt gère les paquets système, Composer gère les dépendances PHP du projet. Cette séparation est saine, et elle évite beaucoup de bricolage quand l’application grossit. La suite logique, c’est donc de préparer Ubuntu pour qu’il puisse exécuter Composer sans friction.

Préparer Ubuntu avant l’installation

Je commence toujours par vérifier que la machine sait exécuter PHP en ligne de commande. Sans php-cli, Composer ne sert pas à grand-chose. Je mets aussi à jour l’index des paquets, puis j’installe les utilitaires qui servent le plus souvent pendant l’installation ou les dépendances projet.

sudo apt update
sudo apt install php-cli curl unzip git
php -v

curl permet de récupérer des fichiers depuis le terminal, unzip aide à extraire certaines dépendances, et git devient vite indispensable dès qu’un package est lié à un dépôt versionné. Si php -v renvoie une erreur, je ne passe pas à l’étape suivante: j’installe d’abord PHP correctement, parce qu’un Composer installé sur une base bancale ne fera que déplacer le problème.

Dans un contexte de serveur ou de VM éphémère, je fais aussi attention à la version PHP utilisée par le shell. Une machine peut avoir plusieurs versions de PHP, et la version utilisée par Apache ou Nginx n’est pas forcément celle du terminal. C’est un détail banal, mais il explique une bonne partie des bugs d’installation. Une fois ce socle vérifié, on peut choisir la méthode d’installation la plus adaptée.

Installer Composer proprement avec l’installateur officiel

Quand je veux une installation propre et maîtrisée, je préfère la méthode officielle. L’idée est simple: récupérer l’installateur, vérifier son intégrité, lancer l’installation, puis supprimer le script temporaire. C’est plus sérieux qu’un copier-coller improvisé, surtout sur une machine qui sert à développer, builder ou déployer.

Méthode Ce que je fais Quand je la choisis Limite principale
APT sudo apt install composer Machine simple, besoin rapide, environnement homogène Moins de contrôle sur la cadence de mise à jour
Installateur officiel Téléchargement, vérification SHA-384, installation du PHAR Poste de dev, CI, environnement où je veux rester proche de l’amont Quelques étapes manuelles de plus
Installation locale Je garde composer.phar dans le projet Projet isolé, environnement minimal, exécution ponctuelle Moins pratique au quotidien si on y revient souvent

Une fois le fichier composer.phar obtenu et vérifié, je le place en général dans un répertoire présent dans le PATH. Sur Ubuntu, /usr/local/bin reste le choix le plus lisible pour une installation globale.

sudo mv composer.phar /usr/local/bin/composer
sudo chmod +x /usr/local/bin/composer
composer --version

Cette version globale est confortable, parce qu’on peut invoquer composer depuis n’importe quel dossier sans préciser php composer.phar à chaque fois. La logique suivante consiste justement à choisir entre cette approche globale et une installation locale plus stricte.

Choisir entre installation globale et locale

Je tranche ce choix selon l’usage réel, pas selon une préférence théorique. Sur une machine personnelle ou un poste de travail partagé avec plusieurs projets PHP, l’installation globale est plus fluide. Dans un projet très cadré, ou dans une image Docker destinée à être reconstruite souvent, je trouve l’installation locale plus rassurante.

Option Avantage Inconvénient Mon usage typique
Globale Commande disponible partout, expérience plus simple Demande un placement propre dans le PATH Poste de développement, serveur d’administration, VM de test
Locale Version liée au projet, isolation plus forte Il faut appeler le PHAR dans le bon répertoire Build reproductible, projet sensible, environnement jetable
Si je dois éviter sudo pour une installation personnelle, je peux aussi viser ~/.local/bin quand le répertoire existe et est déjà pris en charge par le shell. C’est un compromis propre pour un utilisateur qui veut garder la main sans toucher à la zone système. Une fois cette décision prise, la vraie question devient: est-ce que l’installation tient debout dans la durée?

Vérifier, diagnostiquer et mettre à jour sans surprise

Je ne considère jamais une installation comme terminée tant que je n’ai pas validé trois choses: la version affichée, le diagnostic de base et le comportement de mise à jour. composer --version me dit si le binaire répond vraiment, composer diagnose repère des problèmes fréquents, et la commande de mise à jour dépend du mode d’installation choisi.

composer --version
composer diagnose

Si j’ai installé Composer globalement avec le PHAR officiel, je mets ensuite à jour avec composer self-update. Si j’ai choisi le paquet Ubuntu, je reste dans la logique du gestionnaire système et je passe par apt. Ce point paraît secondaire, mais il évite de mélanger deux chaînes de maintenance différentes dans le même poste.

Je fais aussi un test simple sur un projet vide, parce qu’il révèle vite un problème de permissions ou de réseau. Une installation peut répondre correctement à --version et échouer dès qu’elle doit écrire dans un répertoire de travail. C’est précisément ce genre de détail que je veux voir avant de l’embarquer dans une chaîne de build.

Les pièges que je vois le plus souvent sur Ubuntu

Les échecs d’installation de Composer sont rarement mystérieux. Ils reviennent presque toujours à quelques causes connues, et je préfère les traiter tout de suite plutôt que d’attendre qu’elles remontent en CI.

Symptôme Cause probable Correction rapide
composer: command not found Le binaire n’est pas dans le PATH ou l’installation globale n’a pas été faite Vérifier l’emplacement, relancer le shell, déplacer le PHAR dans un dossier du PATH
Composer refuse de démarrer PHP CLI absent ou trop ancien Installer php-cli et vérifier php -v
Extensions PHP manquantes Le projet demande une extension non installée Installer l’extension avec apt puis relancer Composer
Erreur SSL, proxy ou réseau Certificats, proxy d’entreprise ou résolution réseau Lancer composer diagnose et vérifier la couche réseau du système
Permission refusée Le projet a été créé ou modifié avec un autre utilisateur Éviter sudo pour les commandes projet et corriger les droits du dossier

Mon réflexe, dans tous ces cas, est de revenir au socle: PHP CLI, droits sur les fichiers, puis accès réseau. Composer n’invente pas les problèmes, il les rend juste plus visibles. Quand ces trois couches sont propres, l’installation devient stable, et c’est là que je peux l’intégrer sereinement dans un flux DevOps.

Ce que je garde en tête quand Composer entre dans un pipeline DevOps

Une fois Composer installé, je ne l’utilise pas de la même façon sur un poste local, une image Docker ou un runner CI. Dans un pipeline, je veux de la répétabilité, donc je m’appuie sur composer.lock et je réserve composer update aux moments où je choisis explicitement de faire évoluer les dépendances. En déploiement, la commande qui revient le plus souvent chez moi ressemble à ceci:

composer install --no-dev --no-interaction --prefer-dist --optimize-autoloader

--no-dev retire les dépendances de développement, --prefer-dist favorise les archives prêtes à l’emploi, et --optimize-autoloader améliore le chargement des classes en production. Je garde aussi une règle simple: même version de PHP entre le build et l’exécution, sinon Composer peut valider un environnement que l’application ne retrouve plus au runtime.

Si je devais résumer ma méthode en une phrase, ce serait celle-ci: sur Ubuntu, Composer s’installe vite, mais il ne devient vraiment utile que quand l’environnement PHP, le chemin d’exécution et la stratégie de déploiement sont déjà alignés. Quand ces trois points sont en place, l’outil fait exactement ce qu’on attend de lui, sans bruit inutile.

Questions fréquentes

Composer gère les dépendances PHP projet par projet, assurant la cohérence et la reproductibilité de votre environnement de développement à la production. Il évite les conflits et simplifie le déploiement en décrivant précisément les besoins de chaque application.
Avant tout, assurez-vous que PHP CLI est installé et fonctionnel sur votre système. Vous aurez également besoin de `curl` pour télécharger l'installateur et `unzip` pour certaines dépendances. Vérifiez `php -v` pour confirmer votre installation PHP.
L'installation globale (`/usr/local/bin/composer`) est pratique pour un poste de développement avec plusieurs projets. L'installation locale (dans le dossier du projet) est préférable pour les pipelines CI/CD ou les environnements éphémères, garantissant une isolation et une reproductibilité maximales.
Après l'installation, exécutez `composer --version` pour confirmer que le binaire est accessible. Utilisez ensuite `composer diagnose` pour détecter les problèmes courants (permissions, extensions manquantes, réseau). Un test sur un projet vide est aussi recommandé.
Les erreurs fréquentes incluent "command not found" (problème de PATH), PHP CLI absent ou trop ancien, extensions PHP manquantes, ou problèmes de permissions. Vérifiez toujours PHP CLI, les droits sur les fichiers et l'accès réseau en premier lieu pour résoudre ces soucis.

Évaluer l'article

Moyenne: 0.0 / 5 · 0 évaluations

Tags

install composer ubuntu installer composer ubuntu composer php ubuntu installation composer ligne de commande problèmes installation composer ubuntu
Autor Étienne Lambert
Étienne Lambert
Je m'appelle Étienne Lambert et j'ai 13 ans d'expérience dans le développement web, avec un accent particulier sur JavaScript, le backend, NoSQL et la sécurité. Mon parcours dans ce domaine a commencé par une curiosité insatiable pour la technologie et la manière dont elle façonne notre monde. J'aime partager mes connaissances et aider les lecteurs à naviguer dans les complexités du développement web, en rendant des sujets parfois ardus plus accessibles. Je m'efforce toujours de fournir des informations utiles, précises et à jour, en vérifiant mes sources et en comparant les différentes perspectives. J'écris sur des sujets variés qui vont des meilleures pratiques en matière de sécurité aux tendances émergentes dans le développement. Mon objectif est de simplifier des concepts techniques et d'organiser les connaissances de manière claire, afin que chacun puisse en tirer profit et se sentir confiant dans ses compétences en développement web.

Commentaires (0)

Ajouter un commentaire