Résoudre les problèmes

Composer installe un paquet global mais ne trouve pas sa commande

Vérifié le 2 min de lecture Composer terminal

De nombreux paquets Composer incluent des binaires ou des exécutables en CLI qui permettent d'accéder à des fonctionnalités depuis la ligne de commande.

L'installateur de Laravel, par exemple, fournit la commande laravel. La création d'un projet peut aussi nécessiter d'autres programmes selon les options choisies.

Commencez par installer le paquet au niveau global dans votre compte avec composer global require :

composer global require "laravel/installer"

Si, en exécutant laravel, le terminal répond command not found, vérifiez d'abord que l'installation s'est terminée correctement et que le paquet contient bien le binaire :

composer global show laravel/installer
composer global config bin-dir --absolute

La deuxième commande renvoie le répertoire réel des binaires. Vérifiez que laravel s'y trouve et exécutez command -v laravel pour savoir si le shell le trouve déjà.

Uniquement si le binaire existe et que son répertoire n'est pas dans le PATH, ajoutez le chemin renvoyé par Composer au fichier de démarrage du shell. Avec Bash, par exemple :

export PATH="$PATH:/ruta/devuelta/por/composer"

Exécutez source ~/.bashrc pour appliquer le changement si la session utilise Bash. Avec un autre shell, modifiez le fichier de démarrage correspondant.

Ne supposez pas que le chemin est toujours ~/.composer/vendor/bin : il peut changer selon COMPOSER_HOME, XDG ou l'option bin-dir de Composer.

Si la commande est trouvée mais échoue

Exécutez d'abord laravel --version pour confirmer quel binaire vous utilisez sans créer de projet. Une erreur de permissions, d'interpréteur PHP ou de prérequis est différente de command not found et ne se corrige pas en ajoutant de nouveau le répertoire au PATH.

Un cron ou une session non interactive peut ne pas lire ~/.bashrc. Pour ces tâches, utilisez des chemins absolus vérifiés et le PHP compatible. Ajouter le répertoire à la fin du PATH conserve la priorité d'une commande du même nom qui existerait déjà ; utilisez command -v pour détecter ce cas avant de changer l'ordre. N'ajoutez pas de répertoires accessibles en écriture par d'autres utilisateurs.

Cela peut aussi vous aider

Quelque chose cloche ou a changé ? Racontez-nous et nous le vérifions.