registration.php отсутствует
Видимо мой Vendorname_Modulenameмодуль не хватает registration.php. Я использую последнюю версию Magento2 от GitHub.
Каждый модуль должен зарегистрироваться в ComponentRegistrar. Типичный registration.phpдля модуля (в корне вашего модуля) может содержать:
<?php
use Magento\Framework\Component\ComponentRegistrar;
ComponentRegistrar::register(
ComponentRegistrar::MODULE,
'Vendorname_Modulename',
__DIR__
);
Также посмотрите любой основной компонент Magento app/code/Magento/или ваш vendor/magento/каталог
registration.php НЕ отсутствует
В дополнение к этому, если у вас действительно есть registration.phpфайл в вашем модуле, но вы все еще получаете эту ошибку, это означает, что ваш файл registration.phpне был загружен и Magento2 не знает о вашем модуле.
Ваш модуль должен быть в app/code/папке (где Magento2 будет искать папки app/code/и находить ваши модули registration.php), но если вы создали свой модуль как пакет Composer, он будет в директории Composer, vendor/и вам нужно будет обмануть Composer для загрузки вашего модуля registration.php(Magento не ищет в vendor/себе).
Если вы хотите проверить любой модуль Magento2 по composer.jsonприбытию vendor/magento/module-*, вы увидите "autoload"раздел , который ссылается на registration.phpфайл. Таким образом, Composer автоматически загрузит ваши модули, registration.phpкоторые « сообщат » Magento2, где находится ваш модуль.
Это фрагмент из модуля Magento Checkoutcomposer.json :
"autoload": {
"files": [
"registration.php"
],
"psr-4": {
"Magento\\Checkout\\": ""
}
}
Если у вас есть свой модуль в отдельном репозитории и загружен через композитор, то вышесказанное - путь. Если у вас его нет в отдельном репозитории, то ваш модуль не принадлежит, vendor/а находится в app/code/.