web-dev-qa-db-fra.com

Impossible d’écrire keys.dev.pub dans: /home/ubuntu/.composer

Je suis les instructions pour installer composer ( trouvé ici ). Je viens de lancer la ligne php composer-setup.php et le terminal a renvoyé:

All settings correct for using Composer
Unable to write keys.dev.pub to: /home/ubuntu/.composer

J'installe dans un Ubuntu VM dans Vagrant.

7
reelyard

Lors de l’installation de Composer dans votre répertoire de projet, vous pouvez obtenir cette erreur . Im utilisant Ubuntu 16, lors de l’installation, le même problème 


Tous les paramètres corrects pour utiliser Composer Impossible d’écrire keys.dev.pub dans: /home/ubuntu/.composer

Étape 1: allez simplement dans votre répertoire de projet et lancez une commande

Sudo su

Étape 2: Essayez d’installer le compositeur à l’aide de la commande suivante.

curl -sS https://getcomposer.org/installer | php
19
sunil KV

Cela peut arriver lorsqu'une installation précédente de composer n'est pas complètement supprimée ou si vous exécutez le programme d'installation avec un utilisateur différent du propriétaire du dossier .composer.

Vous pouvez renommer l'ancien dossier (pour avoir une sauvegarde), puis réessayer:

mv ~/.composer ~/.composer.old

C'est moins risqué que d'exécuter quelque chose d'inconnu avec Sudo.

10
PhoneixS

essayer 

Sudo apt-get install composer
1
Alex1991

si vous avez installé composer avec Sudo ou avec un utilisateur différent du propriétaire du dossier .composer, comme mentionné par @PhoneixS 

Vérifiez si c'est le cas, en exécutant:

ls -al ~/.composer  

qui peut retourner

ls -al .composer 
total 16
drwxr-xr-x  2 root root 4096 May  1 15:04 .
drwxr-xr-x 53 user-name  user-group  4096 May  1 15:07 ..
-rw-r--r--  1 root root  799 May  1 15:04 keys.dev.pub
-rw-r--r--  1 root root  799 May  1 15:04 keys.tags.pub

Ensuite :

  • si le propriétaire de .composer est l'utilisateur root, vous pouvez exécuter la commande .__ avec Sudo, en tant que valeur de remplacement Sudo php composer-setup.php, afin de résoudre le problème.
  • si le propriétaire est root mais que vous ne voulez pas exécuter Composer en tant que root, vous pouvez remplacer le propriétaire-utilisateur: owner-group de .composer par l'utilisateur actuel comme suit: Sudo chown -R owner-user:owner-group ~/.composer
  • si le propriétaire de .composer est un utilisateur différent de nom d'utilisateur, vous pouvez exécuter la commande en tant qu'utilisateur spécifique, à l'aide de su.
1
yaitloutou