모듈의 Magento2 설치 버전이 지정되지 않았습니다


24

Magento 2의 로컬 복사본을 설치했습니다. 사용자 지정 모듈에 문제가 있습니다.

나는 다음 파일 / 폴더 구조를 따랐다.

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>

이 파일 안에는 다음과 같은 것들이 있습니다 : 스토어 캐시를 새로 고침 한 후 얻었습니다.

'Ps_HelloWorld'모듈의 설치 버전이 지정되지 않았습니다.


제거 schema_version후 시도
Manashvi Birla

작동하지 않음
Yogesh Karodiya

bin/magento cache:flush공용 폴더를 사용하여 명령 줄 에서 캐시를 지우 십시오
Smartie

또한 schema_version은 베타 버전의 베타 버전에서 내가들은 내용에서 제거되었습니다
Smartie

이 오류는 모듈이 config.php에서 참조되었지만 설치되지 않은 경우에도 발생합니다.
roman204

답변:


15

시험

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

개발자 브랜치가 아닌 현재 마스터 브랜치를 실행한다고 가정


php -f bin/magento setup:upgrade명령 을 실행해야하는지 자세히 설명해 주
시겠습니까

마 젠토 루트 폴더에 CD 다음 서버에 쉿
Renon 스튜어트

RS에는 이러한 모든 명령을 지정하는 magento2 공식 링크가 있습니다.
huzefam


2
당신은 runnning php -f bin/magento에 의해 모든 명령의 목록을 얻을 수 있습니다 , 또는 그것은 또한 각각의 모든 명령의 목적을 제공 할 것입니다
amit_game

33

제 경우에는 해당 모듈의 파일 / 폴더 권한이었습니다.

Apache가 구성 파일을 읽을 수 없습니다.

모듈 디렉토리에 다음 권한을 적용하십시오.

chmod 775 <module path> -R

1
그렇습니다. 제 경우에는 이것이 문제였습니다. 감사합니다.)
Adnan

큰 검색 후, 나는이 답변을보고 최종 시도로 시도했다. 세상에, 내 문제가 해결되었습니다. 너무 감사합니다 @Nahid Bro :)
Ask Bytes

이 또한 내 문제를 해결
Hassan Al-Jeshi

11

참조 소스 : https://magentoexplorer.com/magento-2-setup-version-for-module-is-not-specified-how-to-fix (내 경우에는 새 Magento 2 모듈을 만들 때이 오류가 발생했습니다. )

잘못된 모듈 파일 / 폴더 권한으로 인해이 오류가 발생할 수 있습니다. 다음과 같이 모듈 폴더에 대한 권한을 변경할 수 있습니다.

chmod 775 <module path> -R

모듈에 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\\": ""
        }
    }
}

마지막으로 다음 명령을 실행하십시오.

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

이것이 도움이되기를 바랍니다!


4

이것이 나에게 일어난 또 다른 시나리오는 프로젝트의 저장소를 가져 와서 모듈이 파일 시스템에서 제거 되었기 때문입니다. 이것은 의도적 인 것이었지만, Magento의 구성 파일에는 구성이 남아있는 시점이 남아있었습니다.

모듈 참조를 제거하면 app/etc/config.php문제 가 해결되었습니다.

TL; DR

먼저 CLI의 module:disable VendorName_ModuleName명령을 사용하여 모듈을 비활성화하려고 시도했지만 CLI의 응답은 Unknown module(s): 'VendorName_ModuleName'입니다. 파일 시스템에서 이미 누락 되었기 때문이라고 생각합니다. 모듈을 다시 사용하려는 의도가 없었기 app/etc/config.php때문에이 시점에서 모듈을 수동으로 제거하는 것은 어쨌든 적절 해 보입니다.


2
tl; dr은 초기 단락보다 길다 ...
Stevie G

1
@StevieG 나는이 hahahaha로 돌아올 때마다 여전히 미소 짓는다. "tl; dr"부분은 다른 정보를 선택하면 건너 뛰기위한 추가 정보입니다.
Darren Felton

1

데이터베이스를 열고 테이블을 찾으십시오 setup_module.

모듈 Ps_HelloWorld이이 테이블에 있어야합니다.

찾을 수 없으면 수동으로 입력하십시오.


0

문제 : 파일 app/etc/config.php이 잘못되어 다른 마 젠토 인스턴스에서 파일 이 복사되었습니다. 이 때문에이 질문에 설명 된 것과 동일한 증상이 나타납니다.

해결책은 문제가 발생한 Magento 인스턴스에 없었던 모든 모듈 이름을 삭제하는 것이 었습니다.

더 나은 솔루션은 아마로했을 것을 참고 bin/magento module:status다음과 bin/magento module:disable문제가있는 모든 모듈.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.