Warum kann man in Magento 2 nicht in den Standardmodus zurückkehren?


32

Daher habe ich während der Entwicklung eines Magento 2-Projekts mit dem folgenden Befehl in den Entwicklermodus gewechselt:

php bin/magento deploy:mode:set developer

Alles Gute, ich habe diese Nachricht erhalten und die Website gut entwickelt:

Aktueller Anwendungsmodus: Entwickler.

Aus bestimmten Gründen wollte ich in den defaultModus zurückkehren, um das Verhalten der Website in diesem Modus zu überprüfen. Keine besonderen Gründe, um ehrlich zu sein, ich wollte nur wieder in diesen Modus wechseln.

Also habe ich folgenden Befehl ausgeführt:

php bin/magento deploy:mode:set default

Aber ich habe diesen seltsamen Fehler ohne weitere Erklärungen bekommen:

Cannot switch into given mode "default"

Ich habe die folgende Datei überprüft, die die Moduseinstellungen behandelt. Folgendes Magento/Deploy/Console/Command/SetModeCommand.phphabe ich gefunden:

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

Wie seltsam das ist, Magento 2 wird im Standardmodus ausgeliefert, aber Sie können nicht in diesen bestimmten Modus zurückkehren . Was ist der Grund dafür?

Bearbeiten: Für Interessierte habe ich ein Problem auf github erstellt: https://github.com/magento/magento2/issues/4292


1
Es ist eine sehr gute Frage, und wir haben Feedback erhalten, warum Sie den Standardmodus verwenden möchten, aber nicht den Entwicklermodus. Und wie es scheint, definieren Sie den Grund als "Keine spezifischen Gründe". Aber ich bin damit einverstanden - wir müssen zulassen, dass der Modus aktiviert / deaktiviert wird, da dies standardmäßig der Fall ist. Im Moment haben wir in unserem Backlog die Aufgabe, es in möglichen Modi aufzulisten.
Maksek

6
Ein Grund wäre: Ich habe eine Erweiterung entwickelt und einige meiner Kunden werden möglicherweise im Standardmodus ausgeführt
Kristof bei Fooman,

Antworten:


33

Der Standardmodus ist weder hier noch dort.

Modusübersicht

Das Magento-Team möchte, dass Sie während der Entwicklung entweder den Produktionsmodus auf Ihrer Live-Site oder den Entwicklermodus verwenden. Der Grund, warum der Standardmodus existiert, besteht darin, dass etwas vorhanden ist, das zumindest bei der Bereitstellung direkt über den heruntergeladenen Code ohne weitere Eingriffe angemessen funktioniert.

Indem php bin/magento deploy:mode:setSie ausgeführt haben, haben Sie sich als fähig identifiziert und benötigen nicht den Standardmodus. Da es keinen Grund gibt, zum Standardmodus zurückzukehren, hat Magento Ihnen keine Möglichkeit geboten, dies zu tun.


6
Ich wusste, dass ich das Foto hätte machen sollen. Übrigens saßen Sie 5-6 Stühle auf meiner linken Seite :)
Marius


2
Der Grund, warum du eine Stimme voraus bist, ist, dass ich dich aufgewertet habe :).
Marius

3
Der Grund, warum Marius zurückliegt, ist, dass ich ihn herabgestimmt habe :-P
philwinkle

3
Der Grund für das Zurückschalten in den "Standard" -Modus ist eindeutig, dass der "Entwicklermodus" zu langsam ist. Das Testen Ihrer Seite ist ein wichtiger Teil der Entwicklung und sollte nicht verlangsamt werden. Sie sollten auch nicht die Notwendigkeit haben, alles vollständig im Produktionsmodus bereitzustellen. Als Entwickler habe ich eher die negativen Seiten der „default“ -Modus zu leiden , als gezwungen zu sein , zwischen „Entwickler“ und „Produktion“ zu entscheiden
leedch


10

Als Windows-Entwickler möchte Magento im Entwicklermodus symbolische Links zu den statischen Assets erstellen, verwendet jedoch den Linux-Befehl und nicht den Windows-Befehl. Dies führt zu vielen Fehlern in den Dateien js und css.

Um zum Standardmodus zurückzukehren, öffnen Sie:

app / etc / env.php

Und ändern: -

'MAGE_MODE' => 'Entwickler',

Zurück zu:-

'MAGE_MODE' => 'default',

Und statische Dateien erneut bereitstellen.


Hinweis: Umgebungsvariablen können diesen Wert überschreiben.
Elzo Valugi

1
Beachten Sie, dass Magento Windows offiziell nicht unterstützt. Wenn Sie also versuchen, unter Windows zu entwickeln, können auch andere Probleme auftreten.
ProcessEight


0

** set mode 2.3.x **

Jetzt erlaubt uns Magento, von 2.3.x in den Standardmodus zurückzukehren

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.