Tại sao người ta không thể quay lại chế độ mặc định trên Magento 2?


32

Vì vậy, tôi đã chuyển sang chế độ nhà phát triển trong khi phát triển dự án Magento 2 bằng lệnh sau:

php bin/magento deploy:mode:set developer

Tất cả đều tốt, tôi đã nhận được thông báo này và tôi đã phát triển trang web tốt:

Chế độ ứng dụng hiện tại: nhà phát triển.

Vì một số lý do, tôi muốn quay lại defaultchế độ chỉ để kiểm tra hành vi của trang web trong chế độ này. Không có lý do cụ thể để thành thật, tôi chỉ muốn chuyển về chế độ này.

Vì vậy, tôi đã chạy lệnh sau:

php bin/magento deploy:mode:set default

Nhưng tôi đã nhận được lỗi kỳ lạ này mà không có lời giải thích thêm:

Cannot switch into given mode "default"

Tôi đã kiểm tra tệp sau đây xử lý các cài đặt chế độ Magento/Deploy/Console/Command/SetModeCommand.phpvà đây là những gì tôi đã tìm thấy:

switch($toMode) {
    case State::MODE_DEVELOPER:
        $modeController->enableDeveloperMode();
        break;
    case State::MODE_PRODUCTION:
        if ($skipCompilation) {
            $modeController->enableProductionModeMinimal();
        } else {
            $modeController->enableProductionMode();
        }
        break;
    default:
        throw new LocalizedException(__('Cannot switch into given mode "%1"', $toMode));
}

Thật kỳ lạ, Magento 2 được vận chuyển ở chế độ mặc định nhưng bạn không thể quay lại chế độ cụ thể đó . Lý do đằng sau điều này là gì?

Chỉnh sửa: đối với những người quan tâm, cuối cùng tôi đã tạo ra một vấn đề trên github: https://github.com/magento/magento2/issues/4292


1
Đó là một câu hỏi rất hay và chúng tôi đã thu thập thông tin phản hồi tại sao bạn muốn sử dụng chế độ mặc định, nhưng không phải là nhà phát triển. Và có vẻ như bạn xác định lý do là "Không có lý do cụ thể". Nhưng tôi đồng ý - chúng tôi phải cho phép bật / tắt chế độ, vì nó là mặc định. Hiện tại chúng tôi có nhiệm vụ tồn đọng để thêm nó vào danh sách các chế độ có thể.
maksek

6
Một lý do sẽ là: Tôi đã phát triển một tiện ích mở rộng và một số khách hàng của tôi có thể đang chạy ở chế độ mặc định
Kristof tại Fooman

Câu trả lời:


33

Chế độ mặc định không có ở đây cũng không có.

tổng quan về chế độ

Nhóm Magento thực sự muốn bạn sử dụng Chế độ sản xuất trên trang web trực tiếp hoặc Chế độ nhà phát triển trong quá trình phát triển. Lý do tại sao Chế độ mặc định tồn tại là để có một cái gì đó ít nhất sẽ chạy hợp lý khi được triển khai trực tiếp từ mã được tải xuống mà không cần can thiệp thêm.

Bằng cách chạy, php bin/magento deploy:mode:setbạn đã xác định được mình có khả năng và không cần chế độ mặc định. Vì không có lý do gì cần phải quay lại chế độ mặc định, Magento không cung cấp cách để bạn làm như vậy.


6
Tôi biết tôi nên đã chụp bức ảnh đó. Nhân tiện, bạn đang ngồi 5-6 ghế bên trái của tôi :)
Marius

1
Đã kết thúc việc tạo ra một vấn đề: github.com/magento/magento2/issues/4292
Raphael tại Digital Pianism

2
Lý do bạn là một phiếu bầu trước là vì tôi ủng hộ bạn :).
Marius

3
Lý do Marius đứng sau là tôi đã
hạ bệ

3
Lý do muốn chuyển về chế độ "Mặc định" rõ ràng là vì chế độ "nhà phát triển" quá chậm. Kiểm tra trang của bạn là một phần quan trọng của sự phát triển và không nên bị chậm lại cũng như không cần phải triển khai đầy đủ mọi thứ bằng chế độ "sản xuất". Là một nhà phát triển, tôi chọn cách chịu đựng những nhược điểm của chế độ "mặc định" hơn là bị buộc phải quyết định giữa "nhà phát triển" và "sản xuất"
leedch


10

Là một nhà phát triển windows, trong chế độ nhà phát triển, Magento muốn tạo các liên kết tượng trưng đến các tài sản tĩnh, nhưng sử dụng lệnh Linux chứ không phải lệnh windows. Điều này tạo ra rất nhiều lỗi trong các tập tin js và css.

Để chuyển về chế độ mặc định, hãy mở: -

ứng dụng / etc / env.php

Và thay đổi: -

'MAGE_MODE' => 'nhà phát triển',

Quay lại:-

'MAGE_MODE' => 'mặc định',

Và triển khai lại các tệp tĩnh một lần nữa.


Lưu ý: Biến môi trường có thể ghi đè giá trị này.
Elzo Valugi

1
Lưu ý rằng Magento không chính thức hỗ trợ Windows, vì vậy cố gắng phát triển trên Windows cũng có thể gây ra các vấn đề khác.
ProcessEight

1

Tôi đã chạy với cùng một vấn đề, nhưng thay đổi nó trong env.phphoạt động thủ công.


Tất nhiên tôi biết tôi có thể trực tiếp. Tôi chỉ tự hỏi tại sao điều đó là không thể thông qua CLI
Raphael tại Digital Pianism

0

** đặt chế độ 2.3.x **

Bây giờ Magento cho phép chúng tôi chuyển về chế độ mặc định từ 2.3.x

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.