Acabo de instalar Magento 2 Community Edition con datos de muestra (descargados de su sitio web y no instalados con el compositor) localmente a través de MAMP. El proceso de instalación fue exitoso, pero faltan todos los archivos en la carpeta pub / static excepto .htaccess. Eso significa que todos los css, js, etc. devuelven 404 para el frontend y el backend.
He pasado varias horas tratando de arreglar esto sin suerte. Esto es lo que he hecho hasta ahora:
- Cambió
Options Indexes FollowSymLinks AllowOverride
de 'Ninguno' a 'Todos' en /MAMP/conf/apache/httpd.conf y reinició MAMP - Asegúrese de que no
LoadModule rewrite_module modules/mod_rewrite.so
esté comentado en httpd.conf - Configurar un dominio de desarrollo (magento.dev) en MAMP
php bin/magento setup:static-content:deploy
Intenté ejecutar en la raíz magento.dev usando Terminal. Sin embargo, esto devuelve:
Error fatal: la clase 'Locale' no se encuentra en /Applications/MAMP/htdocs/magento.dev/vendor/magento/framework/Locale/Bundle/DataBundle.php en la línea 64
- Descomentado y cambiado RewriteBase a
RewriteBase /
en el archivo .htaccess en el directorio raíz magento.dev. - Establecer Magento en modo de desarrollo
- Borrar el caché manualmente y
php bin/magento setup:static-content:deploy
volver a ejecutar
La mayoría de las guías y publicaciones del foro me dicen que corra, php bin/magento setup:static-content:deploy
pero no estoy seguro si lo estoy haciendo correctamente.
OS: OSX 10.11.2
Versión MAMP: 3.5
Versión de PHP: 7.0
Versión de Apache: 2.4.16
Versión de MySQL: 5.6.25
Cualquier ayuda sería apreciada.
php bin/magento setup:static-content:deploy -f
y esperar 80 segundos.Respuestas:
SOLUCIÓN # 1 (SI DESEA EDITAR ARCHIVO XML)
Me gustaría que descargue Magento 2 zip de
magentocommerce.com/download
, cree un nuevo db en phpmyadmin , extraiga zip en la carpeta htdocs . Instale Magento 2 pero no use localhost use 127.0.0.1 en la URL de la tienda y la URL del administrador. Después de una instalación exitosa NO ejecute magento.Ahora vamos a borrar / eliminar cachés y sesiones de Magento 2. Vaya a las siguientes rutas y elimine todo:
Cuando Magento 2 no está en modo de producción, intentará crear enlaces simbólicos para algunos recursos estáticos en el servidor local. Tenemos que cambiar ese comportamiento de Magento 2 yendo a editar el
ROOT > app > etc > di.xml
archivo. Abredi.xml
en tu editor de código favorito, encuentra lavirtualType name="developerMaterialization"
sección. En esa sección a continuación, encontrará un elemento<item name="view_preprocessed" xsi:type="object">
que debe modificarse. Puede modificarlo cambiando el siguiente contenido:A:
Ahora último paso, también elimine los archivos antiguos generados en
ROOT > pub > static > DELETE ALL EXCEPT .HTACCESS
Personalmente lo probé en mi host local usando MAMP, EasyPHP DevServer, Xampp y Wampp e instalé con éxito y usé Magento 2. Para más información, puede consultar este enlace: Magento 2 CSS y JavaScript no se cargan desde la carpeta correcta
SOLUCIÓN # 2
Instalar Composer. Ahora me gustaría que descargue Magento 2 zip desde
magentocommerce.com/download
, cree un nuevo db en phpmyadmin , extraiga zip en la carpeta htdocs . Instale Magento 2 pero no use localhost use 127.0.0.1 en la URL de la tienda y la URL del administrador. Después de una instalación exitosa NO ejecute magento.Ahora vamos a verificar la instalación de Composer, implementar contenido estático, borrar / vaciar el caché de Magento y reindexar los bloques de Magento 2. Para realizar todas las acciones anteriores, presione WINDOWS KEY + R para abrir el cuadro de diálogo EJECUTAR y escriba "cmd" para abrir el símbolo del sistema.
Escriba " cd PATH_TO_YOUR_MAGENTO2_FILES " para ingresar en el directorio ROOT de Magento 2.
Ahora para verificar la instalación de Composer en el directorio anterior, escriba " instalación de composer ".
En este paso, configuraremos contenido estático para implementar en nuestra tienda Magento. Para realizar esto, escriba " php bin / magento setup: static-content: deploy ".
Borrar / Vaciar caché de Magento escribiendo " php bin / magento cache: flush " en CMD.
Y, por último, para Reindex Magento Static Blocks, escriba " php bin / magento indexer: reindex ".
Has terminado con la instalación exitosa de Magento 2.
fuente
Intenta ejecutar el siguiente comando
Y si da algún error al ejecutar este comando, como un archivo que falta como ya dijo, compare la estructura de archivos de su proyecto con la
magento2
estructura de archivos nueva . Si falta algún archivo en su proyecto, copie el archivo apropiado en su proyecto.Y si tiene algún otro error, publique un error en su pregunta para que alguien pueda responderla.
fuente
Fatal error: Class 'Locale' not found in /Applications/MAMP/htdocs/magento.dev/vendor/magento/framework/Locale/Bundle/DataBundle.php on line 64
después de ejecutarphp bin/magento setup:static-content:deploy
en el directorio raíz.Parece que la
intl
extensión no está cargada en tu versión de consola de php. Verifique que use la misma versión / configuración para apache y la versión cli de php.MacOsX tiene una versión preinstalada de php y algunos paquetes que instalan php no cambian el enlace simbólico para la sesión de terminal. Como resultado, puede tener diferentes versiones de php instaladas al mismo tiempo.
PD: propongo usar vagabundo en Mac OS. funciona bastante bien si usa nfs para compartir archivos
fuente
php -v
(que muestra en qué versión se ejecutan los comandos de PHP) y usando un phpinfo.php , que muestra qué versión de PHP ejecuta el servidor web.Si todo lo demás falla, pode estos directorios:
Esto funcionará si tienes enlaces simbólicos rotos en esos directorios.
fuente
luego otorgue el permiso adecuado a las carpetas y archivos.
luego ejecuta
php bin/magento setup:static-content:deploy
desde tu carpeta raíz.compruebe pub / static.
Espero que esto ayude.
fuente
clear page_cache, di ,view_process, cache
? Es una instalación local, por lo que como administrador super de mi computadora tengo todos los permisos de lectura / escritura. ¿Hay otros permisos que desconozco?¿Has instalado
composer
y ejecutadocomposer init
en el directorio magento2? Si no, inténtalo y luego ejecuta el comandophp bin/magento setup:static-content:deploy
fuente
composer init
composer me pide que configure composer.json config, así que supongo que eso no ayudará.