Por que não pode um alterne para o modo padrão no Magento 2?
-
29-09-2020 - |
Pergunta
Então eu mudei para o modo de programação durante o desenvolvimento de um Magento 2 projeto usando o seguinte comando:
php bin/magento deploy:mode:set developer
Tudo de bom, eu tenho essa mensagem e eu desenvolvi o site da multa:
Atual modo de aplicação:desenvolvedor.
Por alguns motivos, eu queria voltar para o default
modo apenas para verificar o comportamento do site neste modo.Não há razões específicas para ser honesto, eu só queria voltar para este modo.
Portanto, executei o seguinte comando:
php bin/magento deploy:mode:set default
Mas eu tenho esse erro estranho sem mais explicações:
Cannot switch into given mode "default"
Eu verifiquei o seguinte arquivo que processa as definições do modo de Magento/Deploy/Console/Command/SetModeCommand.php
e 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));
}
Como estranho é que, Magento 2 é fornecido no modo padrão, mas você não pode voltar para o modo de.Qual é a razão por trás disso ?
Editar:para os interessados acabei criando um problema no github: https://github.com/magento/magento2/issues/4292
Solução
O modo padrão é nem aqui nem lá.
O Magento equipe realmente quer que você use qualquer um Modo de Produção em seu site ao vivo ou Modo de programação durante o Desenvolvimento.A razão por Padrão o Modo de existir é ter algo que iria executar pelo menos razoavelmente, quando implantado diretamente a partir do código baixado sem intervenção adicional.
Executando php bin/magento deploy:mode:set
identificou-se como a capacidade e não precisar o modo padrão.Como não há nenhuma razão precisando para voltar para o modo padrão Magento não fornecem uma maneira de você fazer isso.
Outras dicas
O modo padrão é apenas para instalar o Magento 2.
Ele não deve ser usado para o desenvolvimento ou produção.
Após a instalação, você só pode alternar entre dev e prod.
Fonte:Alan Kent @MagentoImagine2016
Como um desenvolvedor do windows, no modo de desenvolvedor, Magento quer criar links simbólicos para os processos estáticos, mas usa o comando Linux e não o de comando do windows.Isso cria um monte de erros de js e css.
Para voltar ao modo padrão, abrir:-
app/etc/env.php
E mudança:-
'MAGE_MODE' => 'developer',
Volta para:-
'MAGE_MODE' => 'default',
E re-implantar arquivos estáticos novamente.
Eu corri com o mesmo problema, mas modificá-lo em env.php
manualmente funciona.