Não é possível criar o diretório de cache .. ou o diretório não é gravável. Prosseguindo sem cache no Laravel


127

Criei um novo projeto Laravel. Quando vou ao terminal para instalar as dependências, composeraparece o seguinte aviso:

Cannot create cache directory /home/w3cert/.composer/cache/repo/https---packagist.org/, or directory is not writable. Proceeding without cache.


não se parece com o compositor não tem permissão de escrita na pasta /home/w3cert/.composer/cache/
Amir Bar

2
Isso também pode acontecer se você executar sudo composer self-updateno Linux, pois o ~/.composerdiretório pertencerá rootposteriormente.
caw

Respostas:


214

Alterar a permissão do grupo para a pasta

sudo chown -R w3cert /home/w3cert/.composer/cache/repo/https---packagist.org

e a pasta Arquivos também

sudo chown -R w3cert /home/w3cert/.composer/cache/files/

Estou assumindo que w3cert é seu nome de usuário, se não mudar o quarto parâmetro para seu nome de usuário.

Se o problema persistir, tente

sudo chown -R w3cert /home/w3cert/.composer

Agora, há uma chance de você não conseguir criar o diretório do aplicativo, se isso acontecer, faça o mesmo com a pasta html ou a pasta na qual você está tentando criar seu projeto de laravel.

Espero que isto ajude.


14
Eu encontrei isso algumas vezes, mas acabei de perceber que isso pode ser uma conseqüência da execução da atualização automática como root: atualização automática do sudo $ compositor, que pode ter sido a causa do motivo pela qual a pasta ~ / .composer e todos seu conteúdo muda de proprietário. Apenas chown -R seu ~ / .composer volta para si mesmo
andkrup

10
Estou certo de que este problema começou a gerar certo depois que eu fizsudo composer self-update
Pratik

4
BTW, chown muda proprietário, ao grupo mudança também, você tem que fazer w3cert:w3cert( [OWNER][:[GROUP]])
Pratik

Isso me ajudou na criação do projeto. Depois de executar os dois primeiros comandos, tudo correu bem.
Rhul #

Eu fui ao .composer/diretório e sudo chown $USER -R /cacheisso ajudou.
precisa saber é

270

Quando você instalou o compositor, com certeza utilizou o $ sudocomando, por isso a ~/.composerpasta foi criada pela raiz.

Execute isto para corrigir o problema:

$ sudo chown -R $USER $HOME/.composer

53
Substitua $USERpor $USER:$USERpara corrigir não apenas o usuário, mas também o grupo da pasta e seu conteúdo.
caw

4

Conceda acesso completo do .composer ao usuário.

sudo chown -R 'user-name' /home/'user-name'/.composer

ou

sudo chmod 777 -R /home/'user-name'/.composer

user-name é o nome de usuário do seu sistema.

para obter o nome de usuário tipo "whoami" no terminal:

insira a descrição da imagem aqui


3

Eu tive o mesmo problema hoje. Tente!

sudo chown -R  [yourgroup]  /home/[youruser]/.composer/cache/repo/https---packagist.org/


sudo chown -R  [yourgroup]   /home/[youruser]/.composer/cache/files/

1

Use este comando:

sudo chown -R $USER ~/.composer/

1

Recentemente, tive um problema semelhante e precisava alterar as permissões da minha pasta de fornecedores

Executando os seguintes comandos:

  1. php artisan cache:clear
  2. chmod -R 777 storage vendor
  3. composer dump-autoload

Preciso fornecer todas as permissões necessárias para abrir e gravar arquivos de fornecedores para resolver esse problema


Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.