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

Raphael bei Digital Pianism
quelle
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.

Kristof bei Fooman
quelle
6
Ich wusste, dass ich das Foto hätte machen sollen. Übrigens saßen Sie 5-6 Stühle auf meiner linken Seite :)
Marius
1
Es wurde ein Problem erstellt: github.com/magento/magento2/issues/4292
Raphael bei Digital Pianism
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
18

Der Standardmodus ist nur für die Installation von Magento 2 vorgesehen.
Er sollte nicht für die Entwicklung oder Produktion verwendet werden.
Nach der Installation können Sie nur noch zwischen dev und prod wechseln.

Quelle: Alan Kent @ MagentoImagine2016

Marius
quelle
Es wurde ein Problem erstellt: github.com/magento/magento2/issues/4292
Raphael bei Digital Pianism
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.

Dallas Clarke
quelle
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
1

Ich lief mit dem gleichen Problem, aber es env.phpmanuell zu ändern funktioniert.

Mohammad Mujassam
quelle
Ja natürlich weiß ich , ich könnte es direkt war ich frage mich , warum es über die CLI nicht möglich ist
Raphael bei Digital Pianism
0

** set mode 2.3.x **

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

Pavan U
quelle