Je cours Sudo composer install
J'ai reçu cet avertissement
Ne pas exécuter Composer en tant que root/super utilisateur! Voir https://getcomposer.org/root pour plus de détails
J'ai essayé juste composer install
J'ai eu cette erreur
[ErrorException] file_put_contents (/Applications/MAMP/htdocs/code/bheng/vendor/composer/installed.json): échec d pour ouvrir le flux: autorisation refusée
Voici les autorisations actuellement définies sur mon dossier Laravel
total 1872
-rw-r--r-- 1 bheng staff 777 Feb 27 20:18 phpunit.xml
-rw-r--r-- 1 bheng staff 87 Feb 27 20:18 phpspec.yml
-rw-r--r-- 1 bheng staff 481 Feb 27 20:18 package.json
drwxr-xr-x 3 bheng staff 102 Feb 27 20:18 note
-rw-r--r-- 1 bheng staff 967 Feb 27 20:18 md-bheng-readme.txt
-rw-r--r-- 1 bheng staff 503 Feb 27 20:18 gulpfile.js
-rw-r--r-- 1 bheng staff 26 Feb 27 20:18 contributors.txt
-rw-r--r-- 1 bheng staff 1635 Feb 27 20:18 artisan
-rw-r--r-- 1 bheng staff 43 Feb 27 20:18 Procfile
-rw-r--r-- 1 bheng staff 5634 Feb 27 20:18 Gruntfile.js
drwxr-xr-x 4 bheng staff 136 Feb 27 20:18 tests
drwxr-xr-x 5 bheng staff 170 Feb 27 20:18 storage
drwxr-xr-x 4 bheng staff 136 Feb 27 20:18 sql
-rw-r--r-- 1 bheng staff 560 Feb 27 20:18 server.php
drwxr-xr-x 5 bheng staff 170 Feb 27 20:18 resources
-rw-r--r-- 1 bheng staff 105 Feb 27 20:18 pull.sh
drwxr-xr-x 7 bheng staff 238 Mar 1 14:46 bootstrap
-rw-r--r--@ 1 bheng staff 0 Mar 1 14:46 Icon?
drwxr-xr-x 22 bheng staff 748 Mar 2 11:47 app
drwxrwxrwx@ 27 bheng staff 918 Mar 3 14:55 public
drwxr-xr-x 8 bheng staff 272 Mar 6 13:25 database
-rw-------@ 1 bheng staff 405 Mar 14 09:29 id_rsa.pub
-rw------- 1 bheng staff 1766 Mar 14 09:29 id_rsa
-rw-r--r-- 1 bheng staff 126713 Mar 14 10:00 composer.lock
drwxr-xr-x 18 bheng staff 612 Mar 28 21:24 config
-rw-r--r-- 1 bheng staff 1022 Mar 30 12:21 composer.json
drwxr-xr-x 32 bheng staff 1088 Mar 30 12:21 vendor
Voici ce que contient mon composer.json
{
"name": "laravel/laravel",
"description": "The Laravel Framework.",
"keywords": ["framework", "laravel"],
"license": "MIT",
"type": "project",
"require": {
"laravel/framework": "5.1.0",
"intervention/image": "^2.3",
"laravelcollective/remote": "5.1.*",
"doctrine/dbal": "^2.3",
"league/flysystem-sftp": "^1.0"
},
"require-dev": {
"phpunit/phpunit": "~4.0",
"phpspec/phpspec": "~2.1"
},
"autoload": {
"classmap": [ "database" ],
"psr-4": {
"App\\": "app/"
}
},
"autoload-dev": {
"classmap": [
"tests/TestCase.php"
]
},
"scripts": {
"post-install-cmd": [
"php artisan clear-compiled",
"php artisan optimize"
],
"post-update-cmd": [
"php artisan clear-compiled",
"php artisan optimize"
],
"post-create-project-cmd": [
"php -r \"copy('.env.example', '.env');\"",
"php artisan key:generate"
]
},
"config": {
"preferred-install": "dist"
}
}
Comment puis-je résoudre ce problème? Dois-je modifier des dossiers?
Supprimez votre répertoire de fournisseurs et exécutez composer install
encore.
Vous obtenez l'erreur d'autorisation refusée car le fichier a été créé par root lorsque vous avez exécuté Sudo composer install
, alors maintenant, lorsque vous exécutez composer install
votre utilisateur n'est pas autorisé à modifier ce fichier.
Mise à jour:
Si vous travaillez dans une racine de document en direct (vous ne devriez pas - lire sur déploiement atomique ), vous pouvez essayer chown
sur le répertoire du fournisseur et son contenu pour éviter tout temps d'arrêt entre la suppression et la relance composer install
:
$ Sudo chown -R myuser: vendor/
Remplacez myuser
par votre nom d'utilisateur.