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.

Karthik
fonte
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.

Nesar
fonte
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
Jim M
fonte
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

Shrikant Pardhi
fonte
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/

fonte
1

Use este comando:

sudo chown -R $USER ~/.composer/
Oppa
fonte
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

Lokesh Ramchandani
fonte
0

Execute este comando:

    sudo chown -R yourUser /home/yourUser/.composer
RKAISSI Youssef
fonte