No se especifica la versión de instalación de Magento2 para el módulo


24

Instalé una copia local de Magento 2. Tengo algún problema con el módulo personalizado.

Seguí la siguiente estructura de archivos / carpetas

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>

Dentro de este archivo tengo lo siguiente: Actualicé el caché de la tienda y luego obtuve:

La versión de configuración para el módulo 'Ps_HelloWorld' no está especificada.


retire el schema_versiony luego intente
Manashvi Birla

no funciona
Yogesh Karodiya

Intente borrar el caché en la línea de comandos usando bin/magento cache:flushdesde su carpeta pública
Smartie

Además, schema_version se está eliminando en las versiones posteriores de la versión beta de lo que he escuchado
Smartie

este error también se produce si se hace referencia a un módulo en config.php pero no está instalado
roman204

Respuestas:


15

Tratar

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

Suponiendo que está ejecutando la rama maestra actual y no la rama dev


¿podría explicar en detalle por qué necesitamos ejecutar el php -f bin/magento setup:upgradecomando
Yogesh Karodiya

Ssh en su servidor y luego cd a la carpeta raíz de magento
Renon Stewart

RS hay un enlace oficial de magento2 que especifica todos estos comandos.
huzefam


2
puede obtener una lista de todos los comandos al ejecutarlos php -f bin/magento, ya sea que también proporcionará cuál es el propósito de todos y cada uno de los comandos
amit_game

33

En mi caso fue el permiso de archivo / carpeta de ese módulo.

Apache no pudo leer el archivo de configuración.

Aplique el siguiente permiso a su directorio de módulos.

chmod 775 <module path> -R

1
Sí, en mi caso, este era el problema ... gracias;)
Adnan

Después de una gran búsqueda, vi esta respuesta e intenté como último intento. Dios mío, mi problema está resuelto. Muchas gracias @Nahid Bro :)
Pregunte Bytes

Esto resolvió mi problema también
Hassan Al-Jeshi

11

Fuente de referencia: https://magentoexplorer.com/magento-2-setup-version-for-module-is-not-specified-how-to-fix (en mi caso, recibí este error al crear un nuevo módulo de Magento 2 )

Puede encontrar este error debido a un permiso incorrecto de archivo / carpeta del módulo, puede cambiar el permiso para la carpeta del módulo de la siguiente manera

chmod 775 <module path> -R

Hay otra posibilidad de que haya olvidado agregar el registro.php y composer.json en el módulo. Intenta agregar el siguiente archivo

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

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

y /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 ejecuta estos comandos

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

¡Espero que esto ayude!


4

Un escenario adicional en el que esto ha surgido para mí se debió a realizar una extracción en el repositorio de mi proyecto y el módulo se había eliminado del sistema de archivos. Si bien esto fue intencional, en ese momento permaneció una configuración persistente en el archivo de configuración de Magento.

Eliminar la referencia al módulo de app/etc/config.phpresolvió mi problema.

TL; DR

Primero intenté deshabilitar el módulo usando el module:disable VendorName_ModuleNamecomando de la CLI y la respuesta de la CLI fue Unknown module(s): 'VendorName_ModuleName'. Supongo que esto se debe a que ya faltaba en el sistema de archivos. Dado que no hubo intenciones de usar el módulo nunca más, la eliminación manual de él app/etc/config.phpen este punto parece apropiado de todos modos.


2
El tl; dr es más largo que el párrafo inicial ...
Stevie G

1
@ StevieG Todavía sonrío cada vez que vuelvo a esto jajajaja ... Cuando escribí esto por primera vez, no sabía lo que TL; DR quería decir, creo. Que la parte "tl; dr" es información adicional que se debe omitir si así lo elige o algo así.
Darren Felton

1

Abra su base de datos y encuentre la tabla setup_module.

Su módulo Ps_HelloWorlddebe estar en esta tabla.

Si no se encuentra, intente ingresar manualmente.


0

Problema: el archivo app/etc/config.phpse copió de otra instancia de magento (debido a una mala manipulación del archivo). Debido a eso, tuve los mismos síntomas que los descritos en esta pregunta.

La solución fue eliminar todos los nombres de módulos que no estaban en la instancia de Magento donde ocurrió el problema, y ​​funcionó bien.

Tenga en cuenta que probablemente habría sido una mejor solución bin/magento module:status, y luego bin/magento module:disablepara todos los módulos con problemas.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.