Erro fatal na instalação do Magento 2 - Não é possível instanciar a interface


18

Instalei um Magento 2.1 novo na linha de comando e sempre recebo o mesmo erro fatal ao tentar acessar o front-end ou o back-end.

Erro fatal: Erro não capturado: Não é possível instanciar a interface Magento \ Framework \ App \ Config \ Scope \ ReaderPoolInterface

Alguém experimentou o mesmo? Encontrei alguns recursos, mas sem ajuda real.

Atualizar Apaguei var / di e var / generation e defina-o no modo de desenvolvedor

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

Você tentou remover var / generation var / cache e alternar para o modo de desenvolvedor?
Raphael no Digital Pianism

@RaphaelatDigitalPianism não deu sorte #
Klettseb

Você instalou algum módulo de terceiros antes de executar a instalação do Magento?
Aurélien FOUCRET

Respostas:


14

Se você usar a configuração nginx da amostra oficial e executar o Magento no modo padrão / desenvolvedor, essa situação poderá ocorrer com o valor global da raiz do documento definido como

root $MAGE_ROOT/pub;

O problema pode ser corrigido configurando a raiz do Magento do diretório pub para o root index.php

root $MAGE_ROOT;

No caso do Apache, a DocumentRootalteração do valor também pode corrigir a situação. Espero que ajude.


Definir a raiz da web fora do pub não é, em geral, uma boa idéia.
siliconrockstar 13/03

13

Certifique-se de que o módulo PHP intl esteja instalado, limpe var/generation(ou generation/*se você estiver usando o Magento 2.2+) e var/cachehabilite os módulos Magento ( bin/magento module:enable --all), compile DI ( bin/magento setup:di:compile) e tente novamente.


Spot on. A desativação de módulos antes de executar setup:installou setup:upgradeé o problema
Stevie G

5

Depois de baixar todos os arquivos / criar o projeto através do compositor, você deve configurar a loja. Você pode fazer isso na linha de comando:

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

Ou acesse: http://mystore.com/setup


1

As etapas que eu fiz foram as seguintes para se livrar desse problema.

Primeiro reinstalei o Magento completamente novo e fiz o seguinte:

  • var / generation e var / cache removidos

  • mudou para o modo desenvolvedor para recompilar

E de repente funcionou bem


11
modo de recompilação? onde está isso
Philipp Sander

Se você alternar para o modo de desenvolvimento, em seguida, recompila
Klettseb

1

Eu também tenho esse tipo de problema ao tentar executar o Magento CLI como magento listno terminal. Depois de várias horas, tentei as soluções, mas todas as respostas não funcionaram para mim. acontece que o di.xmlarquivo está perdido.

Passos :

  • Copie todo o arquivo ausente daqui:

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

  • Depois que executar a remover o cache: rm -rf var/*.
  • Agora, se você executar, magento listisso funcionará novamente.

0

Teve o mesmo problema causado pela alteração do código sem limpar o cache primeiro. Limpei manualmente o cache e resolveu o problema.

sudo rm -rf var / cache
sudo rm -rf var / di
sudo rm -rf var / geração
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.