4

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

'Namespace_Modulename => 1,

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

模块.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”的安装版本

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

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

4

2 回答 2

8

在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.php和。composer.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 > Stores > Configuration > Advanced > Advanced. 您的模块现在应该在此处列出。

于 2015-11-23T09:53:54.220 回答
3

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

chmod 775 /magento/app/code/vendorname/modulename -R
于 2018-01-14T09:28:10.930 回答