Contexte
Il est utile de savoir qu'il existe deux façons d'installer (et d'utiliser) Composer: localement en tant que fichier dans le répertoire de votre projet, ou globalement tant qu'exécutable à l'échelle du système.
Installer Composer localement signifie simplement que vous téléchargez un fichier ( composer.phar
- qui est une archive PHP ) dans votre répertoire de projet. Vous devrez le télécharger pour chaque projet nécessitant Composer.
Comme un fichier PHP standard que vous souhaitez exécuter sur la ligne de commande, vous devrez l'exécuter avec PHP:
php composer.phar update
Ce qui indique essentiellement à l' php
exécutable d'exécuter le fichier composer.phar
avec update
comme argument.
Cependant, si vous l'installez globalement , vous pouvez rendre le compositeur lui-même exécutable, vous pouvez donc l'appeler sans php (et ne pas avoir à le télécharger pour chaque projet). En d'autres termes, vous pouvez utiliser le compositeur comme ceci:
composer update
Puisque vous exécutez php composer.phar update
et que vous obtenez l'erreur Could not open input file: composer.phar
, vous n'avez probablement pascomposer.phar
dans votre répertoire actuel.
Solution
Si Composer est installé dans le monde, exécutez simplement composer update
au lieu de php composer.phar update
.
Si vous n'avez pas encore installé Composer, téléchargez le PHAR à l'aide de la commande suivante:
curl -sS https://getcomposer.org/installer | php
Cela va télécharger le programme d' installation et l'exécuter en utilisant php
. Le programme d'installation téléchargera le Composer PHAR réel dans votre répertoire de travail actuel et le rendra exécutable.
Pour installer Composer globalement (je le recommande), copiez le fichier dans un emplacement de votre PATH
. L'emplacement exact diffère selon le système d'exploitation et la configuration, voir https://getcomposer.org/doc/00-intro.md#globally pour plus d'informations.
Personnellement, je préfère installer Composer dans mon répertoire personnel, donc je n'ai pas besoin sudo
d'installer ou de mettre à jour l' composer
exécutable (ce qui peut être un risque pour la sécurité). Comme je suis sous Linux, j'utilise la commande suivante:
mv composer.phar ~/.local/bin/composer