Pourquoi ne peut-on pas revenir au mode par défaut sur Magento 2 ?
-
29-09-2020 - |
Question
Je suis donc passé en mode développeur en développant sur un projet Magento 2 en utilisant la commande suivante :
php bin/magento deploy:mode:set developer
Tout va bien, j'ai reçu ce message et j'ai bien développé le site :
Mode d'application actuel :développeur.
Pour certaines raisons, j'ai voulu revenir au default
mode juste pour vérifier le comportement du site Web dans ce mode.Aucune raison particulière pour être honnête, je voulais juste revenir sur ce mode.
J'ai donc exécuté la commande suivante :
php bin/magento deploy:mode:set default
Mais j'ai eu cette erreur étrange sans autre explication :
Cannot switch into given mode "default"
J'ai vérifié le fichier suivant qui gère les paramètres de mode Magento/Deploy/Console/Command/SetModeCommand.php
et voici ce que j'ai trouvé :
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));
}
Comme c'est bizarre, Magento 2 est livré en mode par défaut mais vous ne pouvez pas revenir à ce mode spécifique.Quelle est la raison derrière cela ?
Modifier:pour ceux que cela intéresse, j'ai fini par créer un ticket sur github : https://github.com/magento/magento2/issues/4292
La solution
Le mode par défaut n'est ni ici ni là.
L'équipe Magento souhaite vraiment que vous utilisiez soit le mode production sur votre site en direct, soit le mode développeur pendant le développement.La raison pour laquelle le mode par défaut existe est d'avoir quelque chose qui fonctionnerait au moins raisonnablement lorsqu'il serait déployé directement à partir du code téléchargé sans autre intervention.
En exécutant php bin/magento deploy:mode:set
vous vous êtes identifié comme capable et n'ayant pas besoin du mode par défaut.Comme il n'y a aucune raison de devoir revenir au mode par défaut, Magento ne vous a pas fourni de moyen de le faire.
Autres conseils
Le mode par défaut est là uniquement pour installer Magento 2.
Il ne doit pas être utilisé pour le développement ou la production.
Après l'installation, vous ne pouvez basculer qu'entre dev et prod.
Source:Alan Kent @MagentoImagine2016
En tant que développeur Windows, en mode développeur, Magento souhaite créer des liens symboliques vers les ressources statiques, mais utilise la commande Linux et non la commande Windows.Cela crée beaucoup d'erreurs dans les fichiers js et css.
Pour revenir au mode par défaut, ouvrez : -
app/etc/env.php
Et changez :-
'MAGE_MODE' => 'developer',
Retour à:-
'MAGE_MODE' => 'default',
Et redéployez à nouveau les fichiers statiques.
J'ai couru avec le même problème, mais en le changeant env.php
fonctionne manuellement.