Чому на Magento 2 не можна повернутись до режиму за замовчуванням?


32

Тому я перейшов у режим розробника, розробляючи проект Magento 2, використовуючи таку команду:

php bin/magento deploy:mode:set developer

Все добре, я отримав це повідомлення, і я добре розробив веб-сайт:

Поточний режим програми: розробник.

З якихось причин я хотів повернутися в defaultрежим, щоб просто перевірити поведінку веб-сайту в цьому режимі. Ніяких конкретних причин, щоб бути чесним, я просто хотів перейти до цього режиму.

Тому я запустив таку команду:

php bin/magento deploy:mode:set default

Але я отримав цю дивну помилку без додаткових пояснень:

Cannot switch into given mode "default"

Я перевірив наступний файл, який обробляє налаштування режиму, Magento/Deploy/Console/Command/SetModeCommand.phpі ось що я знайшов:

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));
}

Як не дивно, що Magento 2 постачається в режимі за замовчуванням, але ви не можете переключитися на цей конкретний режим . У чому причина цього?

Редагувати: для тих, хто зацікавився, я закінчив створити випуск на github: https://github.com/magento/magento2/isissue/4292


1
Це дуже гарне запитання, і ми збирали відгуки, чому ви хочете використовувати режим за замовчуванням, але не розробник. Здається, ви визначаєте причину як "Без конкретних причин". Але я згоден - ми повинні дозволити вмикати / вимикати режим, оскільки це за замовчуванням. На даний момент у нас є завдання відставання, щоб додати його до списку можливих режимів.
— maksek

6
Однією з причин буде: я розробив розширення, і деякі мої клієнти можуть працювати в режимі за замовчуванням
— Kristof в Fooman

Відповіді:


33

Режим за замовчуванням не є ні тут, ні там.

огляд режиму

Команда Magento дуже хоче, щоб ви під час розробки використовували або режим виробництва на своєму веб-сайті, або режим розробника. Причина існування режиму за замовчуванням - це те, що принаймні розумно запускатиметься при розгортанні безпосередньо з завантаженого коду без подальшого втручання.

Запустившись, php bin/magento deploy:mode:setви визначили себе здібним і не потребуєте режиму за замовчуванням. Оскільки немає підстав для того, щоб повернутися до режиму за замовчуванням, Magento не запропонував вам це зробити.


6
Я знав, що повинен був сфотографуватися. До речі, ви сиділи 5-6 стільців ліворуч :)
— Маріус

1
Закінчив створення випуску: github.com/magento/magento2/isissue/4292
— Рафаель у Digital Pianism

2
Причина, коли ви на один голос попереду, це те, що я підтримав вас :).
— Маріус

3
Причина, за якою Маріус позаду, - це я прихилив його до уваги :-P
— philwinkle

3
Причина, що хочуть повернутися до режиму "За замовчуванням", очевидно, тому що режим "розробник" занадто повільний. Тестування вашої сторінки є важливою частиною розробки, і її не слід гальмувати, а також не потрібно повністю розгортати все, використовуючи режим "виробництва". Як розробник я вирішив скоріше зазнавати недоліків режиму «за замовчуванням», ніж був змушений вирішувати між «розробником» та «виробництвом»
— leedch

18

Режим за замовчуванням існує лише для встановлення Magento 2.
Його не слід використовувати для розробки чи виробництва.
Після встановлення ви можете перемикатися лише між розробниками та продуктом.

Джерело: Алан Кент @ MagentoImagine2016


Закінчив створення випуску: github.com/magento/magento2/isissue/4292
— Рафаель у Digital Pianism

10

Як розробник Windows, в режимі розробника Magento хоче створити символічні посилання на статичні активи, але використовує команду Linux, а не команду Windows. Це створює багато помилок у файлах js та css.

Щоб повернутися до режиму за замовчуванням, відкрийте: -

app / тощо / env.php

І зміни: -

'MAGE_MODE' => 'розробник',

Повертатися до:-

'MAGE_MODE' => 'за замовчуванням',

І знову розгорніть статичні файли.


Примітка. Змінні середовища можуть перевищувати це значення.
— Elzo Valugi

1
Зауважте, що Magento офіційно не підтримує Windows, тому спроби розробитись у Windows можуть створити й інші проблеми.
— ProcessEight


0

** встановлений режим 2.3.x **

Тепер Magento дозволяє нам повернутися до режиму за замовчуванням з 2.3.x

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.