web-dev-qa-db-fra.com

Lors de l'installation de Laravel, une erreur s'est produite: "./composer.json n'est pas accessible en écriture."

c'est la commande que je lance

composer global require "laravel/installer"

et c'est le texte et l'erreur que j'ai eu après cela:

Changed current directory to /home/dimitar/.composer
./composer.json is not writable.

J'utilise Ubuntu 16.04 LTS et PHP 7 et Composer version 1.3.0, et j'exécute cette commande à partir de mon dossier personnel.

18
Dimitar

Vérifiez le propriétaire de composer.json. 

ls -lh composer.json

Si c'est 'root', lancez:

Sudo chown -R yourusername:yourusername .composer/composer.json

Dans le dossier .composer, vérifiez le propriétaire du dossier 'cache' . S'il est 'root', réexécutez la commande ci-dessus, mais remplacez composer.json par cache. répertoire de cache 'avertissement.

28
PelleLV

L'erreur dit tout, il y a un problème avec les autorisations. Je suppose que le moyen le plus simple de résoudre ce problème est d'exécuter cette commande

Sudo chmod -R 775 /home/dimitar
3
Alexey Mezenin

Je pense que ce code manque dans votre fichier de composition, ce qui ne permet pas à Packagist de trouver le paquet de Laravel.

Mettez ceci dans votre fichier composer.json et essayez à nouveau:

"repositories": {
    "packagist": { "url": "https://packagist.org", "type": "composer" }
 }
2
Divyesh pal

Vérifiez le propriétaire de composer.json.

ls -lh /home/<yourusername>/composer.json

Si c'est 'root', lancez:

Sudo chown -R yourusername:yourusername /home/<yourusername>/.composer/composer.json

Dans le dossier .composer, vérifiez le propriétaire du dossier 'cache'. Si c'est 'root', exécutez à nouveau la commande ci-dessus, mais basculez composer.json en cache. Sinon, vous risquez de vous retrouver avec un avertissement 'Impossible de créer un répertoire de cache'.

0
mohamed anwer