Чому на 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.