0

I am upgrading our current site from 2.4.3-p1 to 2.4.4. I had to apply multiple patches for upgrading. However, while running di:compile, its give me error as below

MiBInterface "Magento\GraphQl\Helper\Error\ExceptionMessageFormatterInterface" not found#0 /var/www/magento/vendor/composer/ClassLoader.php(571): include()
#1 /var/www/magento/vendor/composer/ClassLoader.php(428): Composer\Autoload\includeFile('/var/www/magent...')
#2 [internal function]: Composer\Autoload\ClassLoader->loadClass('Magento\\Payment...')
#3 /var/www/magento/setup/src/Magento/Setup/Module/Di/Code/Reader/ClassesScanner.php(134): class_exists('Magento\\Payment...')
#4 /var/www/magento/setup/src/Magento/Setup/Module/Di/Code/Reader/ClassesScanner.php(117): Magento\Setup\Module\Di\Code\Reader\ClassesScanner->includeClass('Magento\\Payment...', '/var/www/magent...')
#5 /var/www/magento/setup/src/Magento/Setup/Module/Di/Code/Reader/ClassesScanner.php(87): Magento\Setup\Module\Di\Code\Reader\ClassesScanner->extract(Object(RecursiveIteratorIterator))
#6 /var/www/magento/setup/src/Magento/Setup/Module/Di/App/Task/Operation/RepositoryGenerator.php(61): Magento\Setup\Module\Di\Code\Reader\ClassesScanner->getList('/var/www/magent...')
#7 /var/www/magento/setup/src/Magento/Setup/Module/Di/App/Task/Manager.php(56): Magento\Setup\Module\Di\App\Task\Operation\RepositoryGenerator->doOperation()
#8 /var/www/magento/setup/src/Magento/Setup/Console/Command/DiCompileCommand.php(216): Magento\Setup\Module\Di\App\Task\Manager->process(Object(Closure), Object(Closure))
#9 /var/www/magento/vendor/symfony/console/Command/Command.php(255): Magento\Setup\Console\Command\DiCompileCommand->execute(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#10 /var/www/magento/vendor/symfony/console/Application.php(1009): Symfony\Component\Console\Command\Command->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#11 /var/www/magento/vendor/symfony/console/Application.php(273): Symfony\Component\Console\Application->doRunCommand(Object(Magento\Setup\Console\Command\DiCompileCommand), Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#12 /var/www/magento/vendor/magento/framework/Console/Cli.php(115): Symfony\Component\Console\Application->doRun(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#13 /var/www/magento/vendor/symfony/console/Application.php(149): Magento\Framework\Console\Cli->doRun(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#14 /var/www/magento/bin/magento(23): Symfony\Component\Console\Application->run()
#15 {main}

When I check the module mentioned in error ie: Magento\GraphQl\Helper, I see it has been removed from 2.4.4 and in my composer.json, the module is already under replace.

However, couple of classes still uses it. If I remove this entry, other error comes. I am unsure how to overcome/resolve this.

Any suggestion will be appreciated.

1
  • Having the same issue with the same error, did you find a solution? Commented Aug 2, 2022 at 10:20

1 Answer 1

0

Magento\GraphQl\Helper\Error\ExceptionMessageFormatterInterface seems to be new in Magento 2.4.4. It is used by the module itself, but also by other GraphQL modules (search for "implements ExceptionMessageFormatterInterface").

If I understand your question correctly, then you have disabled the module in the composer.json using a replace property to replace it with * (like is done in the yireo/magento2-replace-graphql module module). I would suggest to remove this (and probably other) replace entries and properly install the module using Composer to get back the behaviour as intended by Magento.

BTW I have used the Composer replace trick in the past, but stopped using it, as it introduced to many errors. If I really want to disable a module, I do this via app/etc/config.php.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.