установка:di: ошибка компиляции из-за дублированного класса средства переноса данных
Я сталкиваюсь со следующей фатальной ошибкой при попытке выполнить команду setup:di:compile:
Неустранимая ошибка: Не удается объявить миграцию класса\Шаг\версия11410to2000test, так как имя уже используется в/var/www/html/magento/vendor/magento/data-migration-tool/tests/unit/testsuite/Migration/Step/UrlRewrite/Version11410to2000Test.php в строке 109
Я попытался скомпилировать заново, потому что я получал 404 на бэкэнде (вызванный magento, не веб-сервер apache).
Любая помощь приветствуется.
Редактировать: Это новая установка Magento 2, за исключением добавления официального (и правильного) инструмента переноса данных.
2 answers
Измените и дайте другое имя классу вашего контроллера
Это может быть проблемой, потому что имя вашего класса контроллера также используется каким-либо другим контроллером
Пример, показанный в приведенном ниже URL
Https://stackoverflow.com/questions/708140/php-fatal-error-cannot-redeclare-class
И если это не так, то
Пожалуйста, удалите папку di
в var
Более прямым ответом на эту проблему является:
В верхней части файла: {magento-base}/vendor/magento/data-migration-tool/tests/unit/testsuite/Migration/Step/UrlRewrite/Version11410to2000Test.php
Заменить:
namespace Migration\Step;
С помощью:
namespace Migration\Step\UrlRewrite;