Magento 2에서 왜 기본 모드로 다시 전환 할 수 없습니까?


32

그래서 다음 명령을 사용하여 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


1
매우 좋은 질문이며, 개발자가 아닌 기본 모드를 사용하려는 이유에 대한 피드백을 수집하고있었습니다. 이유를 "특정 이유 없음"으로 정의한 것 같습니다. 그러나 동의합니다. 기본적으로 모드가 설정 / 해제되도록 허용해야합니다. 현재 우리는 백 로그 작업을 통해 가능한 모드를 목록에 추가했습니다.
— maksek

6
한 가지 이유는 다음과 같습니다. 확장 프로그램을 개발했으며 일부 고객이 기본 모드로 실행 중일 수 있습니다.
— Kristof at Fooman

답변:


33

기본 모드는 여기도 없습니다.

모드 개요

Magento 팀은 실제 사이트의 프로덕션 모드 또는 개발 중 개발자 모드를 사용하기를 원합니다. 기본 모드가 존재하는 이유는 추가 개입없이 다운로드 한 코드에서 직접 배포 할 때 적어도 합리적으로 실행되는 것을 가지기위한 것입니다.

실행 php bin/magento deploy:mode:set하면 자신이 유능한 것으로 식별되고 기본 모드가 필요하지 않습니다. 기본 모드로 돌아갈 필요가 없기 때문에 Magento는 그렇게 할 수있는 방법을 제공하지 않았습니다.


6
나는 그 사진을 찍어야한다는 것을 알았다. 그건 그렇고 당신은 내 왼쪽에 5-6 의자를 앉아 있었다 :)
— 마리우스


2
한 표 앞선 이유는 내가 당신을 찬성했기 때문입니다. :).
— Marius

3
Marius가 뒤에있는 이유는 내가 그를
— 공언했기 때문입니다. -P

3
"개발자"모드가 너무 느리기 때문에 "기본"모드로 다시 전환하려는 이유는 분명합니다. 페이지 테스트는 개발의 중요한 부분이므로 "생산"모드를 사용하여 모든 것을 느리게 배포하거나 배포 할 필요가 없습니다. 개발자로서 나는 "개발자"와 "제작"사이에서 결정하도록 강요하는 것보다 "기본"모드의 단점을 겪고 자했다
— leedch


10

Windows 개발자로서 개발자 모드에서 Magento는 정적 자산에 대한 심볼릭 링크를 만들려고하지만 windows 명령이 아닌 Linux 명령을 사용합니다. 이로 인해 js 및 css 파일에 많은 오류가 발생합니다.

기본 모드로 다시 전환하려면 다음을여십시오.

app / etc / env.php

그리고 변화 :

'MAGE_MODE'=> '개발자',

돌아가다:-

'MAGE_MODE'=> 'default',

정적 파일을 다시 배포하십시오.


참고 : 환경 변수가이 값을 대체 할 수 있습니다.
— Elzo Valugi '

1
Magento는 공식적으로 Windows를 지원하지 않으므로 Windows에서 개발하려고하면 다른 문제도 발생할 수 있습니다.
— ProcessEight


0

** 설정 모드 2.3.x **

이제 Magento를 통해 2.3.x에서 기본 모드로 다시 전환 할 수 있습니다

당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.