因此,我在 Magento 2 项目上开发时使用以下命令切换到开发人员模式:

php bin/magento deploy:mode:set developer

一切顺利,我收到了这条消息,并且我很好地开发了网站:

目前的应用模式:开发商。

由于某些原因,我想回到 default 模式只是为了检查网站在此模式下的行为。老实说,没有什么具体原因,我只是想切换回这种模式。

所以我运行了以下命令:

php bin/magento deploy:mode:set default

但我得到了这个奇怪的错误,没有进一步的解释:

Cannot switch into given mode "default"

我检查了以下处理模式设置的文件 Magento/Deploy/Console/Command/SetModeCommand.php 这是我发现的:

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

这是多么奇怪啊, Magento 2 以默认模式提供,但您无法切换回该特定模式. 。这背后的原因是什么?

编辑:对于那些感兴趣的人,我最终在 github 上创建了一个问题: https://github.com/magento/magento2/issues/4292

有帮助吗?

解决方案

默认模式既不在这里也不在那里。

mode overview

Magento 团队确实希望您在实际站点上使用生产模式或在开发期间使用开发人员模式。默认模式存在的原因是当直接从下载的代码部署而无需进一步干预时,至少可以合理运行。

通过跑步 php bin/magento deploy:mode:set 您已确定自己有能力并且不需要默认模式。由于没有理由需要返回到默认模式,Magento 没有提供一种方法让您这样做。

其他提示

默认模式只能安装magento 2.
它不应该用于开发或生产。
安装后,您只能在Dev和Prod之间切换。

资料来源:alan kent @ magentoimagine2016

作为Windows开发人员,在开发人员模式中,Magento希望创建符号链接到静态资产,但使用Linux命令而不是Windows命令。这在JS和CSS文件中创建了很多错误。

切换回默认模式,打开: -

app/etc/env.php
.

和更改: -

'MAGE_MODE' => 'developer',
.

返回: -

'MAGE_MODE' => 'default',
.

并再次重新部署静态文件。

我用同样的问题跑了,但在env.php手动改变它手动工作。

现在玛格托允许我们从2.3.x

切换回默认模式>

许可以下: CC-BY-SA归因
scroll top