Eu segui a documentação em https://getcomposer.org/doc/00-intro.md#globally para instalar o compositor globalmente no Arch Linux. Quando eu faço composer self-update
, recebo esta mensagem:
[ErrorException]
rename(/home/hannes/.composer/cache/composer-temp.phar,/usr/local/bin/composer): Permission denied
As permissões em /usr/local/bin/
(eu mudei para 777, mas não ajudou):
-rwxrwxrwx 1 hannes users 1104202 30. Mai 18:07 composer
No meu diretório home eu fiz isso:
Sudo chmod -R 777 .composer/
Em /etc/php/php.ini
, o open_basedir
parece assim:
open_basedir = /srv/http/:/home/:/tmp/:/usr/share/pear/:/usr/share/webapps/:/usr/local/bin/
Eu também tentei Sudo composer self-update
mas não funcionou tão bem e possivelmente não é o caminho certo. (?) O que mais eu poderia tentar fazer isso funcionar?
Agora, há um pacote para compositor no Arch Linux que funciona para mim:
Sudo pacman -S composer
este pode ser o caso se você tiver baixado composer.phar
diretamente,
mas não executando php composer-setup.php
faça composer.phar
executável com o seguinte comando antes de movê-lo para /usr/local/bin/composer
ou depois de mover
Sudo chmod 755 composer.phar
composer-setup.php fará essa alteração para nós por padrão
Use o comando Sudo para qualquer comando que grave nos arquivos raiz da pasta. Isso funcionou para mim.
use Sudo "seu comando"
Você deve verificar as permissões do diretório/usr/local/bin /, não apenas o arquivo dentro. O processo tem que escrever ambos, o arquivo e o diretório, ambos devem ser concedidos.
Além disso, uma dica geral: nem sempre definir tudo para 777. Não há razão para isso e torna o sistema vulnerável.
De acordo com a linha que você postou no último comentário, o diretório está atualmente gravável somente para o próprio usuário root. Isso explicaria o erro que você recebe. Você deve não tornar sua própria conta de usuário o proprietário, os sistemas Linux são ambientes multiusuário. Em vez disso, pense em uma dessas abordagens:
composer
na raiz do grupo (uma conta de usuário pode pertencer a vários grupos) e torne o grupo de diretórios gravávelSudo
para instalar e atualizar o utilitário composer
A última opção é a normalmente escolhida e preferida. Ele deixa as permissões como elas são (conservadoras) e usa apenas privilégios elevados para trabalhos de manutenção do sistema, como instalação e atualização.
No Ubuntu SRV 16.04
PRIMEIRO
Sudo rm /usr/local/bin/composer
E
cd ~/.cache/composer
chmod 755 composer-temp.phar
Sudo mv composer-temp.phar /usr/local/bin/composer
Mesmo depois de mover o arquivo via Sudo mv composer.phar /usr/local/bin/composer
, eu estava recebendo um erro de permissão ao tentar executar o comando composer
. Sudo chmod 755 /usr/local/bin/composer
consertou as coisas para mim.
Isso fez o trabalho para mim no Centos 7
chown -R Apache:apache path/to/composer
chmod 755 path/to/composer
Você pode adicionar temporariamente os direitos ao seu usuário em funcionamento e, em seguida, atualizar os erros do compositor s/ae, em seguida, recuperar os direitos.
Sudo chmod 777 /usr/bin/
composer self-update
Sudo chmod 755 /usr/bin/