registration.php desaparecido
Aparentemente a mi Vendorname_Modulenamemódulo le faltaba el registration.php. Estoy ejecutando la última versión de Magento2 de GitHub.
Cada módulo tiene que registrarse en el ComponentRegistrar. Un típico registration.phppara un módulo (en la raíz de su módulo) podría contener:
<?php
use Magento\Framework\Component\ComponentRegistrar;
ComponentRegistrar::register(
ComponentRegistrar::MODULE,
'Vendorname_Modulename',
__DIR__
);
También vea cualquier componente principal de Magento en app/code/Magento/su vendor/magento/directorio
registration.php NO falta
Además de esto, si TIENE un registration.phparchivo en su módulo, pero aún recibe este error, esto significa que registration.phpno se cargó y Magento2 no sabe acerca de su módulo.
Su módulo debe estar debajo app/code/(donde Magento2 buscará carpetas app/code/y encontrará el de su módulo registration.php), pero si ha creado su módulo como un paquete Composer, estará en el vendor/directorio de Composer y deberá engañar a Composer para que cargue su módulo registration.php(Magento no busca vendor/por sí mismo).
Si desea comprobar de cualquier módulo Magento2 composer.jsonen vendor/magento/module-*, verá una "autoload"sección que hace referencia al registration.phparchivo. Entonces Composer cargará automáticamente su módulo, registration.phplo que "le dirá" a Magento2 dónde está ubicado su módulo.
Este es un fragmento del módulo Magento Checkoutcomposer.json :
"autoload": {
"files": [
"registration.php"
],
"psr-4": {
"Magento\\Checkout\\": ""
}
}
Si tiene su módulo en un repositorio separado y cargado a través del compositor, entonces lo anterior es el camino a seguir. Si no lo tiene en un repositorio separado, entonces su módulo no pertenece vendor/sino dentro app/code/.