Error fatal de instalación de Magento 2: no se puede crear una instancia de la interfaz

18

He instalado un nuevo Magento 2.1 sobre la línea de comando y siempre obtengo el mismo error fatal al intentar acceder al frontend o backend.

Error fatal: Error no detectado: No se puede crear una instancia de la interfaz Magento \ Framework \ App \ Config \ Scope \ ReaderPoolInterface

Alguien ha experimentado lo mismo? He encontrado algunos recursos pero sin ayuda real.

Actualización He eliminado var / di y var / generation y lo configuré en modo desarrollador

Fatal error: Uncaught Error: Cannot instantiate interface Magento\Framework\App\Config\Scope\ReaderPoolInterface in /shop/build/vendor/magento/framework/ObjectManager/Factory/Dynamic/Developer.php:73 Stack trace: #0 
/shop/build/vendor/magento/framework/ObjectManager/ObjectManager.php(71): Magento\Framework\ObjectManager\Factory\Dynamic\Developer->create('Magento\\Framewo...') #1 
/shop/build/vendor/magento/framework/ObjectManager/Factory/AbstractFactory.php(126): Magento\Framework\ObjectManager\ObjectManager->get('Magento\\Framewo...') #2 
/shop/build/vendor/magento/framework/ObjectManager/Factory/Dynamic/Developer.php(53): Magento\Framework\ObjectManager\Factory\AbstractFactory->resolveArgument(Array, 'Magento\\Framewo...', NULL, 'readerPool', 'Magento\\Framewo...') #3 
/shop/build/vendor/magento/framework/ObjectManager/Factory/Dynamic/Develo in /shop/build/vendor/magento/framework/ObjectManager/Factory/Dynamic/Developer.php on line 73
Klettseb
fuente
¿Intentó eliminar var / generation var / cache y cambiar al modo desarrollador?
Raphael en Digital Pianism
@RaphaelatDigitalPianism no tuvo suerte
Klettseb
¿Instaló algún módulo de terceros antes de ejecutar la instalación de Magento?
Aurélien FOUCRET

Respuestas:

14

Si usa la configuración nginx de la muestra oficial y ejecuta Magento en el modo predeterminado / desarrollador, esta situación podría ocurrir con el valor global raíz del documento establecido como

root $MAGE_ROOT/pub;

El problema se puede solucionar configurando la raíz de Magento desde el directorio pub a la raíz index.php

root $MAGE_ROOT;

En el caso de Apache, el DocumentRootcambio de valor también podría solucionar la situación. Espero que ayude.

Yaroslav Rogoza
fuente
Establecer la raíz web fuera del pub no es, en general, una muy buena idea.
siliconrockstar
13

Asegúrese de que el módulo PHP intl esté instalado, borre var/generation(o generation/*si está utilizando Magento 2.2+) y var/cachehabilite los módulos de Magento ( bin/magento module:enable --all), compile DI ( bin/magento setup:di:compile) e intente nuevamente.

Erfan
fuente
Correcto. Desactivar cualquier módulo antes de ejecutar setup:installo setup:upgradees el problema
Stevie G
5

Después de descargar todos los archivos / crear el proyecto a través del compositor, debe configurar la tienda. Puede hacer esto desde la línea de comando:

php bin/magento setup:store-config:set --help

O yendo a: http://mystore.com/setup

Iazel
fuente
1

Los pasos que hice fueron los siguientes para deshacerme de este problema.

Primero reinstalé Magento completamente nuevo y luego hice esto:

  • eliminado var / generation y var / cache

  • cambiado al modo desarrollador para recompilar

Y de repente funcionó bien

Klettseb
fuente
1
modo de recompilación? ¿dónde es eso
Philipp Sander
Si cambia al modo de desarrollo, se vuelve a compilar
Klettseb
1

También tengo este tipo de problema cuando intento ejecutar Magento cli como magento listen la terminal. Después de varias horas probé las soluciones, pero todas las respuestas no me funcionan. Resulta que el di.xmlarchivo está perdido.

Pasos:

  • Copie todo el archivo faltante desde aquí:

https://github.com/magento/magento2/tree/2.1/app/etc .

  • Después de que ejecute el quitar el caché: rm -rf var/*.
  • Ahora, si ejecuta magento listesto, funcionará nuevamente.
Gujarat Santana
fuente
0

Tuve el mismo problema causado al cambiar el código sin limpiar primero el caché. Limpié manualmente el caché, resolvió el problema.

sudo rm -rf var / cache
sudo rm -rf var / di
sudo rm -rf var / generation
Dallas Clarke
fuente