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.