Por que não se pode voltar ao modo padrão no Magento 2?


32

Então, mudei para o modo desenvolvedor enquanto desenvolvia um projeto Magento 2 usando o seguinte comando:

php bin/magento deploy:mode:set developer

Tudo bem, recebi esta mensagem e desenvolvi bem o site:

Modo de aplicativo atual: desenvolvedor.

Por algumas razões, eu queria voltar ao defaultmodo apenas para verificar o comportamento do site nesse modo. Não há razões específicas para ser honesto, eu só queria voltar para este modo.

Então, eu executei o seguinte comando:

php bin/magento deploy:mode:set default

Mas eu recebi esse erro estranho sem mais explicações:

Cannot switch into given mode "default"

Eu verifiquei o seguinte arquivo que lida com as configurações de modo Magento/Deploy/Console/Command/SetModeCommand.phpe aqui está o que eu encontrei:

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

Quão estranho é isso, o Magento 2 é enviado no modo padrão, mas você não pode voltar ao modo específico . Qual a razão por trás disso?

Edit: para os interessados, acabei criando um problema no github: https://github.com/magento/magento2/issues/4292


1
É uma pergunta muito boa, e estávamos coletando comentários por que você gostaria de usar o modo padrão, mas não o desenvolvedor. E parece que você define o motivo como "Sem motivos específicos". Mas eu concordo - devemos permitir ativar / desativar o modo, pois é por padrão. No momento, temos em nossa tarefa de pendências para adicioná-lo nos modos possíveis da lista.
maksek

6
Uma das razões seria: Eu desenvolvi uma extensão e alguns dos meus clientes podem estar em execução no modo padrão
Kristof em Fooman

Respostas:


33

O modo padrão não está aqui nem ali.

visão geral do modo

A equipe do Magento realmente deseja que você use o Modo de produção em seu site ao vivo ou o Modo de desenvolvedor durante o desenvolvimento. A razão pela qual o Modo Padrão existe é ter algo que seria executado pelo menos razoavelmente quando implantado diretamente a partir do código baixado sem intervenção adicional.

Ao executar, php bin/magento deploy:mode:setvocê se identificou como capaz e não precisa do modo padrão. Como não há razão para voltar ao modo padrão, o Magento não forneceu uma maneira de fazê-lo.


6
Eu sabia que deveria ter tirado essa foto. Pela maneira que você estivesse sentado 5-6 cadeiras no meu :) esquerda
Marius


2
A razão pela qual você está com um voto à frente é porque eu votei em você :).
Marius

3
A razão Marius está por trás é que eu downvoted-lo :-P
philwinkle

3
A razão para querer voltar ao modo "Padrão" é claramente porque o modo "desenvolvedor" é muito lento. Testar sua página é uma parte importante do desenvolvimento e não deve ser mais lento nem ter a necessidade de implantar completamente tudo usando o modo "produção". Como um desenvolvedor eu escolhi em vez de sofrer as desvantagens do modo "padrão" de ser forçado a decidir entre "desenvolvedor" e "produção"
leedch


10

Como desenvolvedor de janelas, no modo de desenvolvedor, o Magento deseja criar links simbólicos para os ativos estáticos, mas usa o comando Linux e não o comando windows. Isso cria muitos erros nos arquivos js e css.

Para voltar ao modo padrão, abra: -

app / etc / env.php

E mudar: -

'MAGE_MODE' => 'desenvolvedor',

De volta a:-

'MAGE_MODE' => 'padrão',

E reimplante arquivos estáticos novamente.


Nota: As variáveis ​​de ambiente podem substituir esse valor.
Elzo Valugi 7/08

1
Observe que o Magento não suporta oficialmente o Windows, portanto, tentar desenvolver no Windows também pode causar outros problemas.
ProcessEight


0

** modo de configuração 2.3.x **

Agora o Magento nos permite voltar ao modo padrão a partir do 2.3.x

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.