registration.php mancante
Apparentemente il mio Vendorname_Modulenamemodulo mancava il registration.php. Sto eseguendo l'ultima versione di Magento2 da GitHub.
Ogni modulo deve registrarsi in ComponentRegistrar. Un tipico registration.phpper un modulo (nella radice del modulo) potrebbe contenere:
<?php
use Magento\Framework\Component\ComponentRegistrar;
ComponentRegistrar::register(
ComponentRegistrar::MODULE,
'Vendorname_Modulename',
__DIR__
);
Vedi anche qualsiasi componente principale di Magento nella app/code/Magento/tua vendor/magento/directory
registration.php NON mancante
Inoltre, se hai un registration.phpfile nel tuo modulo, ma stai ancora registration.phpriscontrando questo errore, questo significa che il tuo non è stato caricato e Magento2 non è a conoscenza del tuo modulo.
Il tuo modulo dovrebbe essere sotto app/code/(dove Magento2 cercherà le cartelle app/code/e troverà il tuo modulo registration.php), ma se hai costruito il tuo modulo come pacchetto Composer, sarà nella directory di Composer vendor/e dovrai ingannare Composer per caricare il tuo modulo registration.php(Magento non cerca vendor/da solo).
Se controlli qualsiasi modulo Magento2 composer.jsonin vendor/magento/module-*, vedrai una "autoload"sezione che fa riferimento al registration.phpfile. Quindi Composer caricherà automaticamente il tuo modulo registration.phpche "dirà" a Magento2 dove si trova il tuo modulo.
Questo è un frammento del modulo Magento Checkoutcomposer.json :
"autoload": {
"files": [
"registration.php"
],
"psr-4": {
"Magento\\Checkout\\": ""
}
}
Se hai il tuo modulo in un repository separato e caricato tramite compositore, allora quanto sopra è la strada da percorrere. Se non lo hai in un repository separato, il tuo modulo non appartiene vendor/ma dentro app/code/.