Dlaczego nie można wrócić do trybu domyślnego w Magento 2?


32

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 defaulttrybu, 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.phpi 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


1
To bardzo dobre pytanie i zbieramy opinie, dlaczego chcesz używać trybu domyślnego, ale nie programisty. I wygląda na to, że definiujesz przyczynę jako „Brak konkretnych powodów”. Ale zgadzam się - musimy pozwolić na włączenie / wyłączenie trybu, ponieważ jest on domyślnie. W tej chwili mamy w zadaniu zaległości, aby dodać go w liście możliwych trybów.
maksek

6
Jednym z powodów może być to, że opracowałem rozszerzenie i niektórzy z moich klientów mogą pracować w trybie domyślnym
Kristof z Fooman

Odpowiedzi:


33

Domyślny tryb nie jest ani tu, ani tam.

przegląd trybu

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:setzidentyfikował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.


6
Wiedziałem, że powinienem zrobić to zdjęcie. Nawiasem mówiąc, po mojej lewej stronie siedziałeś 5-6 krzeseł :)
Marius


2
Powodem jest jeden głos przed tobą, ponieważ głosowałem na ciebie :).
Marius

3
Powodem, dla którego Marius jest w tyle, jest to, że go głosowałem :-P
philwinkle

3
Powodem, dla którego chce się wrócić do trybu „Domyślny”, jest wyraźnie to, że tryb „programisty” jest zbyt wolny. Testowanie strony jest ważną częścią rozwoju i nie należy jej spowalniać ani też konieczności pełnego wdrażania wszystkiego w trybie „produkcyjnym”. Jako programista wolałem raczej cierpieć z powodu wad „domyślnego” trybu niż zmuszać mnie do decydowania między „programistą” a „produkcją”
leedch


10

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: -

app / etc / env.php

I zmień: -

„MAGE_MODE” => „programista”,

Wrócić do:-

„MAGE_MODE” => „default”,

I ponownie zainstaluj pliki statyczne.


Uwaga: zmienne środowiskowe mogą zastąpić tę wartość.
Elzo Valugi,

1
Pamiętaj, że Magento oficjalnie nie obsługuje systemu Windows, więc próba programowania w systemie Windows może również powodować inne problemy.
ProcessEight

1

Pracowałem z tym samym problemem, ale zmiana w trybie env.phpręcznym działa.


Tak, oczywiście, że wiem, że mógłbym to zrobić bezpośrednio. Właśnie zastanawiałem się, dlaczego nie jest to możliwe za pośrednictwem CLI
Raphael w Digital Pianism,

0

** ustaw tryb 2.3.x **

Teraz Magento pozwala nam wrócić do trybu domyślnego z 2.3.x.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.