【问题标题】:Setup version for module 'Namespace_Modulename' is not specified : Magento 2未指定模块“Namespace_Modulename”的安装版本:Magento 2
【发布时间】:2023-03-24 02:21:01
【问题描述】:

我正在 Magento 2 (ver. 2.0.0) 中创建一个模块。我已经在 app/etc/config.xml

中注册了我的模块
'Namespace_Modulename => 1,

app/code/Namespace/Modulename/etc/module.xml 下的我的module.xml 文件

module.xml

<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../lib/internal/Magento/Framework/Module/etc/module.xsd">
  <module name="Namespace_Modulename" setup_version="2.0.1"/> 
</config>

当我运行我的模块 Magento 2 时生成以下错误:

未指定模块“Namespace_Modulename”的安装版本

我的模块在稳定版本之前工作正常,升级到稳定版本后我开始收到此错误。我在谷歌上搜索了很多,然后添加到这里,得到了一些结果,但没有一个对我有用。

请指导我哪里做错了。提前致谢。

【问题讨论】:

    标签: magento magento2 magento-2.0


    【解决方案1】:

    module.xml 中试试这个:

    <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Module/etc/module.xsd">
      <module name="Namespace_Modulename" schema_version="2.0.1" setup_version="2.0.1"/> 
    </config>
    

    在您的模块中添加registration.phpcomposer.json

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

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

    /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\\": ""
            }
        }
    }
    

    现在运行magento setup:upgrade 和架构升级(如果适用)。

    现在清除所有缓存和 var/generation 文件夹。 Login to admin panel &gt; Stores &gt; Configuration &gt; Advanced &gt; Advanced。您的模块现在应该在此处列出。

    【讨论】:

    • 如何运行架构升级?
    • php bin/magento setup:db-schema:upgrade
    【解决方案2】:

    错误的文件/文件夹权限也可能导致此错误

    chmod 775 /magento/app/code/vendorname/modulename -R
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-18
      • 2017-12-28
      • 2020-05-14
      • 2022-12-08
      相关资源
      最近更新 更多