Borrar el tema / caché CSS en Magento 2

28

Cuando estoy en una tienda Magento 2, ¿cuál es la forma sugerida de limpiar los cachés?

Edito los .lessarchivos y luego lo hago actualmente

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

Pero este parece ser el método de fuerza bruta.

php bin/magento cache:flush --all

Parece que no hace el trabajo.

Hay alguno mejor?

Alex
fuente
debido a que su pregunta aún no se ha resuelto, consulte mi respuesta aquí: magento.stackexchange.com/a/101139/27685 , creo que podría ayudar.
MauroNigrele
También tengo muchos problemas con el almacenamiento en caché de CSS / Less, eliminar manualmente el módulo modificado en pub / static a veces ayuda, pero no siempre. M2 está resultando difícil trabajar con él
Ben Crook

Respuestas:

18

Creo que la manera correcta de actualizar archivos .less ahora es

php bin/magento setup:static-content:deploy

Porque "Recopila, procesa y publica archivos MENOS de origen"

Otro punto es usar el modo de desarrollo durante el desarrollo, de acuerdo con la documentación "Los archivos de vista estática no se almacenan en caché; se escriben en el directorio pub / static de Magento cada vez que se llaman"

Para configurar Magento 2 en modo Desarrollador, debe seguir los siguientes pasos

  1. Elimine el contenido de los directorios var / generation y var / di:

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

  2. Establecer el modo:

    php bin/magento setup:mode:set developer

FireBear
fuente
1
ya no existe tal deploy:mode:setcomando (beta2). Pero me puse a MAGE_MODEtravés de SetEnv. Para dev:css:deploytengo que ingresar un nombre de archivo. ¿Cuál debería usar?
Alex
lo siento, este fue mi mal. setup: static-content: deploy es el comando correcto para hacer eso. también deploy: mode: set parece que todavía funciona para mí, ¿no lo tienes en la lista de comandos de bin / magento también?
FireBear
lo tengo, despliegue: mode: set se cambió también a setup: mode: set según goo.gl/Pive1U
FireBear
Todavía estoy intentando esto ...
Alex
"Los archivos de vista estática no se almacenan en caché; se escriben en el directorio pub / static de Magento cada vez que se llaman" Creo que el documento está mal. Hay una RewriteCond !-fen el .htaccessen pub/staticlo que hace Apache para utilizar la versión en caché si existe.
Alex
2

Hay tres formas de borrar el caché css, si los cambios no se reflejan.

1. Use Grunt en su lugar para que no necesite limpiar el caché después de cada cambio de CSS (forma recomendada), puede ver más documentación sobre Grunt en este enlace.

2. Vaya a sistema> Administración de caché> Administración de caché adicional> Vaciar caché de JavaScript / CSS.

ingrese la descripción de la imagen aquí

3. Ejecute el comando de despliegue (esto lleva mucho tiempo y no es una buena recomendación, también cambie el modo a desarrollador si no está allí).

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

Creo que los pub/staticcontenidos (en modo dev) se generan con la misma lógica que se utiliza para los var/generationarchivos, es decir, si el contenido requerido no existe, se crea, pero si ya existe, se reutiliza.

Así que creo que también debe limpiar pub/static[area]o ejecutar setup:static-content:deploypara anular todo, pero este proceso es muy lento cada vez que realiza un cambio.

MauroNigrele
fuente
0

En modo desarrollador, en lugar de borrar manualmente pub/staticy var/view_preprocessed.

Vaya System > Tools > Cache Managementy haga clic en Vaciar caché de archivos estáticos .

Key Shang
fuente
0

Para vaciar la caché de magento en el comando como puede ejecutar:

bin/magento cache:flush

Para vaciar el caché de almacenamiento puede ejecutar:

bin/magento cache:clean

Para verificar el estado de la ejecución de caché (el estado debe ser 1 para activo y 0 para deshabilitado):

bin/magento cache:status

Para deshabilitar el caché de magento, ejecute todos juntos

bin/magento cache:disable

Para habilitar la ejecución de caché:

bin/magento cache:enable

Pero creo que su problema reside en el modo Magento configurado en modo producción. Puede verificar su modo usando: bin/magento deploy:mode:show Puede leer más sobre la producción de magento y el modo de desarrollador aquí

Como alternativa para el modo desarrollador, bin/magento setup:static-content:deploypuede usarlo bin/magento setup:upgrade, borra el código compilado y el caché. O simplemente elimine manualmente cualquier elemento de la pub/staticcarpeta de su proyecto que necesite actualizar. Si falta algo en esa carpeta, se volverá a generar con los últimos cambios.

Andrei
fuente