Limpar Tema / Cache CSS no Magento 2

28

Quando estou criando uma loja Magento 2, qual é a maneira sugerida de limpar os caches?

Eu edito os .lessarquivos e atualmente faço

rm -rf pub/static/frontend/* var/view_preprocessed/ var/*cache/*

Mas este parece ser o método da força bruta.

php bin/magento cache:flush --all

parece não fazer o trabalho.

Existe um melhor?

Alex
fonte
Como sua pergunta ainda não foi resolvida, dê uma olhada na minha resposta aqui: magento.stackexchange.com/a/101139/27685 , acho que poderia ajudar.
MauroNigrele 17/02
Também estou tendo muitos problemas com CSS / Menos sendo armazenados em cache, excluir manualmente o módulo alterado em pub / static às vezes ajuda, mas nem sempre. M2 está provando difícil de trabalhar
Ben Crook

Respostas:

18

Eu acho que a maneira certa de atualizar arquivos .less agora é

php bin/magento setup:static-content:deploy

Porque "Coleta, processa e publica arquivos MENOS de origem"

Outro ponto é o uso do modo dev durante o desenvolvimento, de acordo com a documentação "Os arquivos de exibição estática não são armazenados em cache; eles são gravados no diretório pub / static do Magento toda vez que são chamados"

Para definir o Magento 2 no modo Desenvolvedor, você precisa executar as seguintes etapas

  1. Exclua o conteúdo dos diretórios var / generation e var / di:

    rm -rf <your Magento install dir>/var/di/* <your Magento install dir>/var/generation/*

  2. Defina o modo:

    php bin/magento setup:mode:set developer

FireBear
fonte
1
não existe mais esse deploy:mode:setcomando (beta2). Mas eu configurei MAGE_MODEvia SetEnv. Pois dev:css:deployeu tenho que digitar um nome de arquivo. Qual devo usar?
Alex
desculpe, isso foi ruim. setup: static-content: deploy é o comando correto para fazer isso. também deploy: mode: set parece que ainda funciona para mim, você não está na lista de comandos do bin / magento também?
FireBear
tem, deploy: Modo: set foi mudada também para a configuração: Modo: definido de acordo com goo.gl/Pive1U
FireBear
Eu ainda estou tentando essas coisas ...
Alex
"Os arquivos de exibição estática não são armazenados em cache; eles são gravados no diretório pub / static do Magento toda vez que são chamados" Eu acho que o documento está errado. Há um RewriteCond !-fna .htaccessem pub/staticque faz o Apache para usar a versão em cache se ele existir.
Alex
2

Existem três maneiras de limpar o cache do css, se as alterações não estiverem refletidas.

1. Em vez disso, use o Grunt para não precisar limpar o cache após cada alteração de css (maneira recomendada). Você pode ver mais documentação sobre o grunt clicando neste link

2. Vá para sistema> Gerenciamento de cache> Gerenciamento adicional de cache> Liberar cache JavaScript / CSS.

insira a descrição da imagem aqui

3. Execute o comando deploy (isso leva uma recomendação longa e não é boa, também mude o modo para desenvolvedor, se não estiver lá.)

php bin/magento setup:static-content:deploy
Ruhani
fonte
1

Eu acho que o pub/staticconteúdo (no modo dev) é gerado com a mesma lógica usada para var/generationarquivos, quero dizer, se o conteúdo necessário não existe, então é criado, mas se já existe, é reutilizado.

Portanto, acho que você deve limpar pub/static[area]também ou executar setup:static-content:deploypara substituir tudo, mas esse processo é muito lento para executar sempre que você faz uma alteração.

MauroNigrele
fonte
0

No modo de desenvolvedor, em vez de limpar manualmente os botões pub/statice var/view_preprocessed.

Vá para System > Tools > Cache Managemente clique em Flush Static Files Cache .

Key Shang
fonte
0

Para liberar o cache do magento no comando como você pode executar:

bin/magento cache:flush

Para liberar o cache de armazenamento, você pode executar:

bin/magento cache:clean

Para verificar o status da execução do cache (o status deve estar em 1 para ativo e 0 em desativado):

bin/magento cache:status

Para desabilitar o cache magento, execute todos juntos:

bin/magento cache:disable

Para habilitar a execução do cache:

bin/magento cache:enable

Mas acho que seu problema reside no modo Magento sendo definido no modo de produção. Você pode verificar seu modo usando: bin/magento deploy:mode:show Você pode ler mais sobre produção magento e modo desenvolvedor aqui

Como alternativa ao modo de desenvolvedor, bin/magento setup:static-content:deployvocê pode usá- bin/magento setup:upgradelo limpa o código compilado e o cache. Ou simplesmente exclua manualmente qualquer coisa da pub/staticpasta do seu projeto que você precise atualizar. Se algo estiver faltando nessa pasta, será gerado novamente com as alterações mais recentes.

Andrei
fonte