Podczas programowania projektu Magento 2 przełączyłem się na tryb programisty, używając następującego polecenia:
php bin/magento deploy:mode:set developer
Wszystko dobrze, dostałem ten komunikat i dobrze opracowałem stronę:
Aktualny tryb aplikacji: programista.
Z niektórych powodów chciałem wrócić do default
trybu, aby sprawdzić zachowanie strony internetowej w tym trybie. Nie ma konkretnych powodów, by być szczerym, chciałem tylko wrócić do tego trybu.
Uruchomiłem więc następujące polecenie:
php bin/magento deploy:mode:set default
Ale dostałem ten dziwny błąd bez dalszych wyjaśnień:
Cannot switch into given mode "default"
Sprawdziłem następujący plik, który obsługuje ustawienia trybu Magento/Deploy/Console/Command/SetModeCommand.php
i oto, co znalazłem:
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));
}
Jak dziwne jest to, że Magento 2 jest dostarczany w trybie domyślnym, ale nie można wrócić do tego konkretnego trybu . Jaki jest tego powód?
Edycja: dla zainteresowanych stworzyłem problem na github: https://github.com/magento/magento2/issues/4292
źródło
Odpowiedzi:
Domyślny tryb nie jest ani tu, ani tam.
Zespół Magento naprawdę chce, abyś używał trybu produkcyjnego w witrynie na żywo lub trybu programisty podczas programowania. Powodem, dla którego istnieje Tryb Domyślny, jest posiadanie czegoś, co przynajmniej działałoby rozsądnie po wdrożeniu bezpośrednio z pobranego kodu bez dalszej interwencji.
Po uruchomieniu
php bin/magento deploy:mode:set
zidentyfikowałeś się jako zdolny i nie wymagający trybu domyślnego. Ponieważ nie ma powodu, aby powracać do trybu domyślnego, Magento nie zapewnił Ci takiej możliwości.źródło
Domyślnym trybem jest tylko instalacja Magento 2.
Nie należy go używać do programowania ani produkcji.
Po instalacji możesz przełączać się między programatorem i prod.
Źródło: Alan Kent @ MagentoImagine2016
źródło
Jako programista systemu Windows w trybie programisty Magento chce tworzyć dowiązania symboliczne do zasobów statycznych, ale używa polecenia Linux, a nie polecenia Windows. Powoduje to wiele błędów w plikach js i css.
Aby wrócić do trybu domyślnego, otwórz: -
I zmień: -
Wrócić do:-
I ponownie zainstaluj pliki statyczne.
źródło
Pracowałem z tym samym problemem, ale zmiana w trybie
env.php
ręcznym działa.źródło
Teraz Magento pozwala nam wrócić do trybu domyślnego z 2.3.x.
źródło