autorisation refusée pour compositeur dans /usr/local/bin/
J'ai suivi la documentation sur https://getcomposer.org/doc/00-intro.md#globally pour installer compositeur à l'échelle mondiale sur arch linux. Quand je fais composer self-update
, j'obtiens ce message:
[ErrorException]
rename(/home/hannes/.composer/cache/composer-temp.phar,/usr/local/bin/composer): Permission denied
Les autorisations dans /usr/local/bin/
(j'ai changé à 777, mais il n'a pas aidé):
-rwxrwxrwx 1 hannes users 1104202 30. Mai 18:07 composer
Dans mon répertoire home je l'ai fait:
sudo chmod -R 777 .composer/
Dans /etc/php/php.ini
, le open_basedir
ressemble tellement:
open_basedir = /srv/http/:/home/:/tmp/:/usr/share/pear/:/usr/share/webapps/:/usr/local/bin/
J'ai aussi essayé sudo composer self-update
mais il ne fonctionne pas aussi bien et est peut-être pas de la bonne façon. (?). Quoi d'autre pourrais-je essayer de faire ce travail?
Vous devriez vérifier les autorisations de l' directory
ok, il faut que j'
Au lieu de commencer un commentaire flux ici, j'ai posté une réponse ci-dessous.
/usr/local/bin/
, pas le fichier à l'intérieur. Le processus d'écriture dans le répertoire qui doit être accordé. Et, en dehors de cela, un indice: ne sont pas toujours tout mis en 777. Il n'y a pas de raison que ce et il rend votre système vulnérable.ok, il faut que j'
chown
le répertoire /usr/local/bin
pour mon utilisateur (moi) ? Il ressemble à ceci: drwxr-xr-x 2 root root 4096 30. Mai 18:08 bin
, Il semble que si il doit être possédé que par l'utilisateur root, pas un utilisateur.. (?)Au lieu de commencer un commentaire flux ici, j'ai posté une réponse ci-dessous.
OriginalL'auteur haheute | 2015-06-20
Vous devez vous connecter pour publier un commentaire.
ce pourrait être le cas si vous avez téléchargé
composer.phar
directement ,mais pas en cours d'exécution
php composer-setup.php
faire
composer.phar
exécutable avec la commande suivante avant de passer à/usr/local/bin/composer
ou après le déplacement desudo chmod 755 composer.phar
composer-setup.php va faire ce changement pour nous par défaut
Pourrais-je savoir où est le chemin d'accès /etats-unis/local/bin @Raaghu
C'est un chemin d'accès au répertoire dans le système d'exploitation linux.
Comment pouvez exécuter dans windows plate-forme, je suis en utilisant le compositeur.
OriginalL'auteur
Utiliser la commande sudo pour toute commande qui écrit à la racine des fichiers de dossier. Il a travaillé pour moi.
utiliser sudo "votre commande"
OriginalL'auteur
Vous devriez vérifier les autorisations du répertoire /usr/local/bin/, et pas seulement le fichier à l'intérieur. Le processus est d'écrire à la fois, le fichier et le répertoire dans lequel les deux doit être accordé.
En dehors de cela, un conseil: ne pas toujours tout mis en 777. Il n'y a pas de raison que ce et il rend votre système vulnérable.
Selon la ligne que vous avez posté dans le dernier commentaire de l'annuaire est actuellement accessible en écriture seulement pour la racine de l'utilisateur lui-même. Qui pourrait expliquer l'erreur que vous obtenez. Vous devriez pas faire votre propre compte d'utilisateur du propriétaire, les systèmes Linux sont multiples environnements utilisateur. Au lieu de penser à propos de l'une de ces approches:
composer
à la racine de groupe (un compte d'utilisateur peut appartenir à plusieurs groupes) et le répertoire du groupe est en écrituresudo
utilitaire pour installer et mettre à jour lescomposer
utilitaireLa dernière option est le plus souvent choisi et préféré. Il laisse les autorisations qu'ils sont (conservateur) et utilise uniquement soulevé des privilèges pour la maintenance du système de travaux comme l'installation et la mise à niveau.
OriginalL'auteur
Même après le déplacement du fichier par
sudo mv composer.phar /usr/local/bin/composer
j'ai été l'obtention d'une autorisation d'erreur lorsque vous essayez d'exécuter lecomposer
de commande.sudo chmod 755 /usr/local/bin/composer
fixe les choses pour moi.OriginalL'auteur
Sur Ubuntu SRV 16.04
PREMIÈRE
ET
cd ~/.cache/composer
devrait êtrecd ~/.composer/cache
OriginalL'auteur
Maintenant, il ya un paquet de compositeur dans arch linux qui fonctionne pour moi:
OriginalL'auteur
Ce fait le travail pour moi sur Centos 7
première commande attribue apache en tant que propriétaire du dossier. La Deuxième commande rend le dossier "lisible, modifiable exécutable" pour l'utilisateur et de groupe, et "lisible et exécutable" pour d'autres.
OriginalL'auteur
Vous pourriez ajouter temporairement les droits de votre travail de l'utilisateur, puis mise à jour de compositeur w/o des erreurs et d'en obtenir les droits.
OriginalL'auteur