cela peut être le cas si vous avez téléchargé composer.phar
directement ,
mais pas en exécutant php composer-setup.php
faire composer.phar
exécutable avec la commande suivante avant de le déplacer vers /usr/local/bin/composer
ou après déplacement
sudo chmod 755 composer.phar
composer-setup.php fera ce changement pour nous par défaut
Sur le serveur Ubuntu>=16.04
PREMIER
sudo rm /usr/local/bin/composer
ET
cd ~/.cache/composer
chmod 755 composer-temp.phar
sudo mv composer-temp.phar /usr/local/bin/composer
Vous devez vérifier les autorisations du répertoire /usr/local/bin/, pas seulement le fichier qu'il contient. Le processus doit écrire à la fois, le fichier et dans le répertoire, qui doivent tous deux être accordés.
En dehors de cela, un conseil général :ne réglez pas toujours tout sur 777. Il n'y a aucune raison à cela et cela rend votre système vulnérable.
Selon la ligne que vous avez postée dans le dernier commentaire, le répertoire est actuellement accessible en écriture uniquement pour l'utilisateur root lui-même. Cela expliquerait l'erreur que vous obtenez. Vous ne devriez pas faites de votre propre compte utilisateur le propriétaire, les systèmes Linux sont des environnements multi-utilisateurs. Réfléchissez plutôt à l'une de ces approches :
- ajoutez le compte destiné à exécuter le
composer
à la racine du groupe (un compte utilisateur peut appartenir à plusieurs groupes) et rendre le groupe répertoire accessible en écriture - changer la propriété des groupes du répertoire en un groupe dont le compte est membre et rendre le groupe de répertoire accessible en écriture
- utiliser le
sudo
utilitaire pour installer et mettre à jour lecomposer
utilitaire
La dernière option est celle généralement choisie et préférée. Il laisse les autorisations telles qu'elles sont (conservatrices) et n'utilise les privilèges élevés que pour les tâches de maintenance du système telles que l'installation et la mise à niveau.