La versione di installazione di Magento2 per il modulo non è specificata


24

Ho installato una copia locale di Magento 2. Sto riscontrando qualche problema con il modulo personalizzato.

Ho seguito la seguente struttura di file / cartelle

app/code/Ps/HelloWorld/etc/module.xml:

<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../lib/internal/Magento/Framework/Module/etc/module.xsd">
    <module name="Ps_HelloWorld" schema_version="0.0.1" setup_version="0.0.1" />
</config>

All'interno di questo file ho il seguente: ho aggiornato la cache del negozio e poi ho ottenuto:

La versione di installazione per il modulo 'Ps_HelloWorld' non è specificata.


rimuovere il schema_versione quindi provare
Manashvi Birla

non funziona
Yogesh Karodiya,

Prova a svuotare la cache dalla riga di comando utilizzando bin/magento cache:flushdalla tua cartella pubblica
Smartie

Inoltre, schema_version viene rimosso nelle versioni successive della beta da quello che ho sentito
Smartie,

questo errore viene anche generato se si fa riferimento a un modulo in config.php ma non è installato
roman204,

Risposte:


15

Provare

php -f bin/magento module:enable --clear-static-content Module_Name
php -f bin/magento setup:upgrade

Supponendo che si stia eseguendo il ramo master corrente e non il ramo dev


puoi per favore spiegare in dettaglio perché dobbiamo eseguire il php -f bin/magento setup:upgradecomando
Yogesh Karodiya il

SSH nel tuo server, quindi cd nella cartella radice magento
Renon Stewart

RS esiste un link ufficiale magento2 che specifica tutti questi comandi.
huzefam,


2
puoi ottenere l'elenco di tutti i comandi php -f bin/magento
eseguendo runnning

33

Nel mio caso era l'autorizzazione per file / cartella di quel modulo.

Apache non è riuscito a leggere il file di configurazione.

Applicare le seguenti autorizzazioni alla directory del modulo.

chmod 775 <module path> -R

1
Sì, nel mio caso questo era il problema .. grazie;)
Adnan,

Dopo un'enorme ricerca, avevo visto questa risposta e provato come ultimo tentativo. Oh mio Dio, il mio problema è stato risolto. Grazie mille @Nahid Bro :)
Chiedi a Bytes il

Ciò ha risolto anche il mio problema
Hassan Al-Jeshi, il

11

Fonte di riferimento: https://magentoexplorer.com/magento-2-setup-version-for-module-is-not-specified-how-to-fix (nel mio caso, ho riscontrato questo errore durante la creazione di un nuovo modulo Magento 2 )

È possibile che si verifichi questo errore a causa di un'autorizzazione del file / cartella del modulo errata, è possibile modificare l'autorizzazione per la cartella del modulo come segue

chmod 775 <module path> -R

C'è un'altra possibilità che hai dimenticato di aggiungere registration.php e composer.json nel modulo. Prova ad aggiungere il seguente file

/app/code/Namespace/Module/registration.php

<?php
\Magento\Framework\Component\ComponentRegistrar::register(
    \Magento\Framework\Component\ComponentRegistrar::MODULE,
    'Namespace_Module',
    __DIR__
);

e /app/code/Namespace/Module/composer.json

{
    "name": "namespace/module",
    "description": "namespace",
    "require": {
      "php": "~5.5.0|~5.6.0|~7.0.0",
      "magento/framework": "100.0.*",
      "magento/module-ui": "100.0.*",
      "magento/module-config": "100.0.*",
      "magento/module-contact": "100.0.*"    
    },
    "type": "magento2-module",
    "version": "100.0.0",
    "license": [
        "OSL-3.0",
        "AFL-3.0"
    ],
    "extra": {
        "map": [
            [
                "*",
                "Namespace/Module"
            ]
        ]
    },
    "autoload": {
        "files": [ "registration.php" ],
        "psr-4": {
            "namespace\\module\\": ""
        }
    }
}

Finalmente esegui questi comandi

php -f bin/magento module:enable --clear-static-content Module_Name
magento setup:upgrade

Spero che sia di aiuto!


4

Uno scenario aggiuntivo in cui questo è emerso per me era dovuto all'esecuzione di un pull sul repository del mio progetto e il modulo era stato rimosso dal file system. Sebbene ciò fosse intenzionale, al momento rimaneva una configurazione persistente nel file di configurazione di Magento.

La rimozione del riferimento al modulo ha app/etc/config.phprisolto il mio problema.

TL; DR

Per prima cosa ho provato a disabilitare il modulo usando il module:disable VendorName_ModuleNamecomando della CLI e la risposta era dalla CLI Unknown module(s): 'VendorName_ModuleName'. Presumo che ciò sia dovuto al fatto che mancava già nel file system. Poiché non vi erano intenzioni di utilizzare il modulo mai più, la rimozione manuale da app/etc/config.phpquesto punto sembra comunque appropriata.


2
Il tl; dr è più lungo del paragrafo iniziale ...
Stevie G

1
@StevieG Sorrido ancora ogni volta che torno a questo hahahaha ... Quando ho scritto per la prima volta non sapevo cosa volesse dire TL; DR. Che la parte "tl; dr" è un'informazione aggiuntiva che si intende saltare se lo si desidera o qualcosa del genere.
Darren Felton

1

Apri il tuo database e trova la tabella setup_module.

Il tuo modulo Ps_HelloWorlddovrebbe essere in questa tabella.

Se non trovato, prova ad accedere manualmente.


0

Problema: il file è app/etc/config.phpstato copiato da un'altra istanza di magento (a causa di una manipolazione errata del file). Per questo motivo, ho avuto gli stessi sintomi di quelli descritti in questa domanda.

La soluzione era eliminare tutti i nomi dei moduli che non si trovavano nell'istanza di Magento in cui si è verificato il problema, e ha funzionato bene.

Si noti che probabilmente sarebbe stata una soluzione migliore bin/magento module:status, e quindi bin/magento module:disableper tutti i moduli con problemi.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.