Phiên bản cài đặt Magento2 cho mô-đun không được chỉ định


24

Tôi đã cài đặt một bản sao cục bộ của Magento 2. Tôi đang gặp một số vấn đề với mô-đun tùy chỉnh.

Tôi theo dõi cấu trúc tập tin / thư mục

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>

Trong tập tin này tôi có những điều sau đây: Tôi đã làm mới bộ nhớ cache của cửa hàng và sau đó tôi nhận được:

Phiên bản thiết lập cho mô-đun 'Ps_HelloWorld' không được chỉ định.


xóa schema_versionvà sau đó thử
Manashvi Birla

nó không hoạt động
Yogesh Karodiya

Hãy thử xóa bộ nhớ cache trên dòng lệnh bằng bin/magento cache:flushthư mục công cộng của bạn
Smartie

Ngoài ra, lược đồ_version đang bị xóa trong các phiên bản beta mới hơn so với những gì tôi đã nghe
Smartie

lỗi này cũng được đưa ra nếu một mô-đun được tham chiếu trong config.php nhưng không được cài đặt
roman204

Câu trả lời:


15

Thử

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

Giả sử rằng bạn đang chạy nhánh chính hiện tại chứ không phải nhánh dev


bạn có thể vui lòng giải thích chi tiết lý do tại sao chúng ta cần chạy php -f bin/magento setup:upgradelệnh
Yogesh Karodiya

Ssh vào máy chủ của bạn sau đó cd vào thư mục gốc magento
Renon Stewart

RS có một liên kết chính thức magento2 chỉ định tất cả các lệnh này.
huzefam

@huzefam devdocs.magento.com/guides/v2.0/install-gde/install/cli/ mẹo
Renon Stewart

2
bạn có thể nhận danh sách tất cả các lệnh bằng cách chạy php -f bin/magento, hoặc nó cũng sẽ cung cấp mục đích của mỗi lệnh là gì
amit_game 7/12/2015

33

Trong trường hợp của tôi, đó là sự cho phép tập tin / thư mục của mô-đun đó.

Apache không thể đọc tệp cấu hình.

Áp dụng sự cho phép sau vào thư mục mô-đun của bạn.

chmod 775 <module path> -R

1
Có trong trường hợp của tôi đây là vấn đề .. cảm ơn;)
Adnan

Sau một cuộc tìm kiếm lớn, tôi đã thấy câu trả lời này và đã thử như một lần thử cuối cùng. Trời ơi, vấn đề của tôi được giải quyết. Cảm ơn bạn rất nhiều @Nahid Bro :)
Hỏi Byte

Điều này cũng giải quyết được vấn đề của tôi
Hassan Al-Jeshi

11

Nguồn tham khảo: https://magentoexplorer.com/magento-2-setup-version-for-module-is-not-specified-how-to-fix (trong trường hợp của tôi, tôi đã gặp lỗi này khi tạo mô-đun Magento 2 mới )

Bạn có thể gặp phải lỗi này do cấp phép tệp / thư mục mô-đun sai, bạn có thể thay đổi quyền cho thư mục mô-đun như sau

chmod 775 <module path> -R

Có một khả năng khác là bạn đã quên thêm register.phpcomposer.json trong mô-đun. Hãy thử thêm tập tin sau

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

Cuối cùng chạy các lệnh này

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

Hi vọng điêu nay co ich!


4

Một kịch bản bổ sung mà điều này đã xảy ra với tôi là do thực hiện thao tác kéo vào kho lưu trữ của dự án của tôi và mô-đun đã bị xóa khỏi hệ thống tệp. Mặc dù điều này là có chủ ý, nhưng vẫn tồn tại cấu hình còn sót lại cho nó trong tệp cấu hình của Magento.

Xóa tham chiếu đến mô-đun khỏi app/etc/config.phpgiải quyết vấn đề của tôi.

TL; DR

Trước tiên tôi đã thử vô hiệu hóa mô-đun bằng module:disable VendorName_ModuleNamelệnh của CLI và phản hồi lại từ CLI là Unknown module(s): 'VendorName_ModuleName'. Tôi cho rằng điều này là do nó đã bị thiếu trong hệ thống tập tin. Vì không có ý định sử dụng mô-đun một lần nữa, nên loại bỏ thủ công từ app/etc/config.phplúc này có vẻ phù hợp.


2
Tl; dr dài hơn đoạn ban đầu ...
Stevie G

1
@StevieG Tôi vẫn mỉm cười mỗi khi quay lại đây hahahaha ... Khi tôi viết bài này lần đầu tiên tôi không biết TL là gì, DR có nghĩa là tôi tin. Phần "tl; dr" là thông tin bổ sung được dự định bỏ qua nếu bạn chọn hoặc một cái gì đó.
Darren Felton

1

Mở cơ sở dữ liệu của bạn và tìm bảng setup_module.

Mô-đun của bạn Ps_HelloWorldnên ở trong bảng này.

Nếu không tìm thấy hãy thử nhập thủ công.


0

Vấn đề: tệp app/etc/config.phpđã được sao chép từ một phiên bản magento khác (do thao tác tệp không tốt). Do đó, tôi có các triệu chứng giống như được mô tả trong câu hỏi này.

Giải pháp là xóa tất cả các tên mô-đun không có trong trường hợp của Magento, nơi xảy ra sự cố và nó đã hoạt động tốt.

Lưu ý rằng một giải pháp tốt hơn có thể đã có bin/magento module:status, và sau đó bin/magento module:disablecho tất cả các mô-đun có vấn đề.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.