Mengapa seseorang tidak dapat kembali ke mode default di Magento 2?

32

Jadi saya telah beralih ke mode pengembang sambil mengembangkan proyek Magento 2 menggunakan perintah berikut:

php bin/magento deploy:mode:set developer

Semua baik, saya mendapat pesan ini dan saya mengembangkan situs web dengan baik:

Mode aplikasi saat ini: pengembang.

Untuk beberapa alasan, saya ingin kembali ke defaultmode hanya untuk memeriksa perilaku situs web dalam mode ini. Tidak ada alasan khusus untuk jujur, saya hanya ingin kembali ke mode ini.

Jadi saya menjalankan perintah berikut:

php bin/magento deploy:mode:set default

Tapi saya mendapat kesalahan aneh ini tanpa penjelasan lebih lanjut:

Cannot switch into given mode "default"

Saya memeriksa file berikut yang menangani pengaturan mode Magento/Deploy/Console/Command/SetModeCommand.phpdan inilah yang saya temukan:

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

Betapa anehnya itu, Magento 2 dikirimkan dalam mode default tetapi Anda tidak bisa kembali ke mode spesifik itu . Apa alasan di balik ini?

Sunting: untuk mereka yang tertarik, saya akhirnya membuat masalah di github: https://github.com/magento/magento2/issues/4292

Raphael di Digital Pianism
sumber
1
Ini adalah pertanyaan yang sangat bagus, dan kami mengumpulkan umpan balik mengapa Anda ingin menggunakan mode default, tetapi bukan pengembang. Dan sepertinya Anda mendefinisikan alasannya sebagai "Tidak ada alasan khusus". Tapi saya setuju - kita harus mengaktifkan / menonaktifkan mode, karena ini secara default. Saat ini kami memiliki tugas backlog kami untuk menambahkannya dalam mode daftar mungkin.
maksek
6
Salah satu alasannya adalah: Saya telah mengembangkan ekstensi dan beberapa pelanggan saya mungkin berjalan dalam mode default
Kristof di Fooman

Jawaban:

33

Mode default tidak ada di sini atau di sana.

gambaran umum mode

Tim Magento benar-benar ingin Anda menggunakan Mode Produksi di situs langsung atau Mode Pengembang selama Pengembangan. Alasan mengapa Mode Default ada adalah untuk memiliki sesuatu yang setidaknya akan berjalan secara wajar ketika disebarkan langsung dari kode yang diunduh tanpa intervensi lebih lanjut.

Dengan menjalankan, php bin/magento deploy:mode:setAnda telah mengidentifikasi diri Anda mampu dan tidak memerlukan mode default. Karena tidak ada alasan yang perlu untuk kembali ke mode default Magento tidak memberikan cara bagi Anda untuk melakukannya.

Kristof di Fooman
sumber
6
Saya tahu saya seharusnya mengambil foto itu. Ngomong-ngomong, kamu duduk 5-6 kursi di sebelah kiriku :)
Marius
1
Akhirnya menciptakan masalah: github.com/magento/magento2/issues/4292
Raphael di Digital Pianism
2
Alasan Anda satu suara di depan adalah karena saya terbalik Anda :).
Marius
3
Alasan Marius ada di belakang adalah aku menurunkannya :-P
philwinkle
3
Alasan ingin kembali ke mode "Default" jelas karena mode "pengembang" terlalu lambat. Menguji halaman Anda adalah bagian penting dari pengembangan dan tidak boleh diperlambat juga tidak perlu untuk sepenuhnya menggunakan segala sesuatu menggunakan mode "produksi". Sebagai seorang pengembang, saya lebih memilih untuk menderita kelemahan dari mode "default" daripada dipaksa untuk memutuskan antara "pengembang" dan "produksi"
leedch
18

Mode default hanya ada untuk menginstal Magento 2.
Ini tidak boleh digunakan untuk pengembangan atau produksi.
Setelah instalasi, Anda hanya dapat beralih antara dev dan prod.

Sumber: Alan Kent @ MagentoImagine2016

Marius
sumber
Akhirnya menciptakan masalah: github.com/magento/magento2/issues/4292
Raphael di Digital Pianism
10

Sebagai pengembang windows, dalam mode pengembang, Magento ingin membuat tautan simbolis ke aset statis, tetapi menggunakan perintah Linux dan bukan perintah windows. Ini menciptakan banyak kesalahan dalam file js dan css.

Untuk beralih kembali ke mode default, buka: -

app / etc / env.php

Dan ubah: -

'MAGE_MODE' => 'pengembang',

Kembali ke:-

'MAGE_MODE' => 'default',

Dan gunakan kembali file statis lagi.

Dallas Clarke
sumber
Catatan: Variabel lingkungan dapat mengabaikan nilai ini.
Elzo Valugi
1
Perhatikan bahwa Magento tidak secara resmi mendukung Windows, jadi mencoba mengembangkan pada Windows dapat menghasilkan masalah lain juga.
ProcessEight
1

Saya berlari dengan masalah yang sama, tetapi mengubahnya env.phpsecara manual berfungsi.

Mohammad Mujassam
sumber
Ya tentu saja saya tahu saya bisa langsung saya hanya bertanya-tanya mengapa itu tidak mungkin melalui CLI
Raphael di Digital Pianism
0

** mengatur mode 2.3.x **

Sekarang Magento memungkinkan kita untuk beralih kembali ke mode default dari 2.3.x

Pavan U
sumber