Perché non è possibile tornare alla modalità predefinita su Magento 2?


32

Quindi sono passato alla modalità sviluppatore mentre sviluppavo un progetto Magento 2 usando il seguente comando:

php bin/magento deploy:mode:set developer

Bene, ho ricevuto questo messaggio e ho sviluppato bene il sito Web:

Modalità applicazione corrente: sviluppatore.

Per alcuni motivi, volevo tornare alla defaultmodalità solo per verificare il comportamento del sito Web in questa modalità. Nessun motivo specifico per essere sincero, volevo solo tornare a questa modalità.

Quindi ho eseguito il seguente comando:

php bin/magento deploy:mode:set default

Ma ho avuto questo strano errore senza ulteriori spiegazioni:

Cannot switch into given mode "default"

Ho controllato il seguente file che gestisce le impostazioni della modalità Magento/Deploy/Console/Command/SetModeCommand.phped ecco cosa ho trovato:

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

È strano che Magento 2 sia spedito in modalità predefinita ma non è possibile tornare a quella modalità specifica . Qual è la ragione dietro questo?

Modifica: per chi fosse interessato ho finito per creare un problema su github: https://github.com/magento/magento2/issues/4292


1
È un'ottima domanda, e stavamo raccogliendo feedback perché dovresti usare la modalità predefinita, ma non lo sviluppatore. E sembra che tu definisca il motivo come "Nessun motivo specifico". Ma sono d'accordo - dobbiamo consentire di attivare / disattivare la modalità, poiché è di default. Al momento abbiamo nel nostro compito di backlog per aggiungerlo in elenco possibili modalità.
Maksek,

6
Uno dei motivi sarebbe: ho sviluppato un'estensione e alcuni dei miei clienti potrebbero essere in esecuzione in modalità predefinita
Kristof a Fooman il

Risposte:


33

La modalità predefinita non è né qui né lì.

panoramica della modalità

Il team di Magento vuole davvero che tu utilizzi la modalità di produzione sul tuo sito live o la modalità sviluppatore durante lo sviluppo. Il motivo per cui esiste la modalità predefinita è avere qualcosa che dovrebbe funzionare almeno ragionevolmente se distribuito direttamente dal codice scaricato senza ulteriore intervento.

Eseguendo php bin/magento deploy:mode:setti sei identificato come capace e non hai bisogno della modalità predefinita. Poiché non vi è alcun motivo per cui è necessario tornare alla modalità predefinita Magento non ha fornito un modo per farlo.


6
Sapevo che avrei dovuto fare quella foto. A proposito, eri seduto 5-6 sedie alla mia sinistra :)
Marius

1
Ho

2
Il motivo per cui sei avanti di un voto è perché ti ho votato :).
Marius

3
La ragione per cui Marius è alle spalle è che l'ho sottovalutato :-P
raggrinzire il

3
Il motivo per cui si desidera tornare alla modalità "Predefinita" è chiaramente perché la modalità "sviluppatore" è troppo lenta. Testare la tua pagina è una parte importante dello sviluppo e non dovrebbe essere rallentato né avere la necessità di distribuire completamente tutto usando la modalità "produzione". Come sviluppatore ho scelto piuttosto di subire gli svantaggi della modalità "predefinita" piuttosto che essere costretto a decidere tra "sviluppatore" e "produzione"
leedch

18

La modalità predefinita è lì solo per installare Magento 2.
Non deve essere utilizzata per lo sviluppo o la produzione.
Dopo l'installazione è possibile passare solo da dev a prod.

Fonte: Alan Kent @ MagentoImagine2016


Ho

10

Come sviluppatore di Windows, in modalità sviluppatore, Magento vuole creare collegamenti simbolici alle risorse statiche, ma utilizza il comando Linux e non il comando Windows. Questo crea molti errori nei file js e css.

Per tornare alla modalità predefinita, aprire: -

app / etc / env.php

E cambia: -

'MAGE_MODE' => 'sviluppatore',

Torna a: -

'MAGE_MODE' => 'default',

E ridistribuire nuovamente i file statici.


Nota: le variabili di ambiente possono sovrascrivere questo valore.
Elzo Valugi,

1
Nota che Magento non supporta ufficialmente Windows, quindi provare a svilupparlo su Windows potrebbe produrre anche altri problemi.
ProcessEight


0

** imposta la modalità 2.3.x **

Ora Magento ci consente di tornare alla modalità predefinita da 2.3.x.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.