Magento2 Regenera contenido estático completo

10

Eliminé la carpeta pub / static mientras estaba en modo desarrollador, esperando que las cosas volvieran a ser como antes. Después de eso, solo la carpeta

_requirejs

se generó, así que ahora me falta todo: todos los archivos css y js se han ido. ¿Cómo puedo solucionar ese problema? Por favor ayuda.

Lachezar Raychev
fuente
¿El servidor web puede escribir en el directorio pub / static?
Peter O'Callaghan
sí, el servidor web y el usuario de magento pueden escribirlo.
Le di
drwxrwsrwx 3 ubuntu www-data 4096 17 de febrero 17:24 estática los directorios app / design / adminhtml / Magento y app / design / frontend / Magento están vacíos, no sé si eso es relevante
Lachezar Raychev
No puedo volver al modo predeterminado también
Lachezar Raychev
2
¿Por qué hicieron que no fuera posible volver a cambiarlo a la vista predeterminada? tal vez cambiaste de opinión y no quieres que el modo de producción implemente tu aplicación
Claudiu Creanga

Respuestas:

24

Puede regenerar su contenido estático ejecutando el siguiente comando

php bin/magento setup:static-content:deploy

Este es el comando que ejecutarías antes de implementarlo en modo de producción. Si está ejecutando en modo predeterminado o desarrollador, esos archivos deberían generarse automáticamente. Supongo que accidentalmente eliminó una carpeta que Magento espera que esté allí: la ejecución setup:static-content:deploypuede restaurar esa carpeta o puede dar lugar a un error explícito sobre las carpetas que faltan. Si es más tarde, el error debería (¡ojalá!) Proporcionar suficiente información para reconstruir los directorios que faltan. Es posible que desee ejecutar el comando en modo detallado

php bin/magento -vvv setup:static-content:deploy

Esto le indicará al bin/magentocomando que muestre la excepción real si hay un error.

Alan Storm
fuente
Sí, ya lo encontré. bueno que tenga una respuesta marcada ahora. gracias. y no sabía lo de -vvv. Esto podría ser útil. gracias una vez más
Lachezar Raychev
1
Irónico ... Encontré este problema con Magento 2.1.2, siguiendo los pasos para instalar Commerce Bug 3. De Alan Storm. Sin embargo, esta respuesta resolvió el problema.
gwideman
@gwideman Si tiene un momento, ¿le importaría contarnos los problemas que encontró al instalar Commerce Bug 3? Estamos interesados ​​en mejorar la experiencia tanto como podamos dentro de las limitaciones configuradas por Magento Inc. pulsestorm.net/blog
Alan Storm
1
@AlanStorm Problema probablemente debido a que el sitio (que es un sitio de prueba) está en modo de producción. En resumen, después del archivo README de Commerce Bug, en el magento setup:upgradepaso, el mensaje de resultado fue "Vuelva a ejecutar el comando de compilación Magento". Me encontré magento setup:di:compile. Después de eso, el sitio no funcionó: no hay imágenes u otros archivos estáticos como js. Básicamente, faltaban pub / static / frontend y pub / static / adminhtml. De ahí la necesidad de correr setup:static-content:deploy.
gwideman
Si está en desarrollo, agregue -f para forzar y obtener el error
open-ecommerce.org
5

Lo que causó esto es que cuando eliminó la carpeta pub / static, eliminó un archivo .htaccess que es necesario para regenerar contenido mientras está en modo de producción. Sin ese archivo, ningún activo se regenerará automáticamente.

Si esto vuelve a ocurrir, puede copiar ese archivo desde otra instancia de Magento 2 (si tiene otra configuración) o intentar restaurar el archivo copiando el archivo .htaccess de GitHub de Magento: https://github.com/magento/magento2 /blob/develop/pub/static/.htaccess

Para evitar que esto suceda, solo vacíe el contenido de una carpeta en el directorio pub / static, como frontend o adminhtml.

Perry Holden
fuente
3

Puede seguir los siguientes pasos: -

1. Delete all folders under pub/static
2. Delete var/cache
3. Delete var/composer_home
4. Delete var/generation
5. Delete var/page_cache
6. Delete var/view_preprocessed

Ahora abra su símbolo del sistema y vaya a su instalación raíz de magento 2 y ejecute los siguientes comandos

php bin / magento setup: static-content: deploy

Swapna Taru
fuente
3

Solo necesita ejecutar este comando para generar contenido estático:

php bin/magento setup:static-content:deploy

Asegúrese de que el propietario de pub static sea el mismo que su propietario de Magento.

Asegúrese de tener el archivo .htaccess requerido en su carpeta.

Sourabh Modi
fuente
3
  1. Eliminar todas las carpetas debajo pub/static
  2. Eliminar var/cache
  3. Eliminar var/composer_home
  4. Eliminar var/generation
  5. Eliminar var/page_cache
  6. Eliminar var/view_preprocessed

Después de esto, vaya a la raíz de magento 2 y ejecute:

php bin/magento setup:static-content:deploy
Sheshgiri Anvekar
fuente
0

Si eliminó el archivo .htaccess, podría tener muchos problemas. (obteniendo errores 404 al intentar acceder a sus archivos css + javascript y otras cosas.

Si esto le sucede a usted, la mejor manera de solucionarlo es volver a descargar el archivo zip o tar de magento y extraer la carpeta pub / static en el directorio de su proyecto. Esto debería incluir el archivo .htaccess y solucionar cualquier problema que tenga.

usuario49531
fuente