Magento 2'de neden bir varsayılan moda geçilemiyor?


32

Bu yüzden aşağıdaki komutu kullanarak bir Magento 2 projesinde geliştirirken geliştirici moduna geçtim:

php bin/magento deploy:mode:set developer

Her şey yolunda, bu mesajı aldım ve web sitesini iyi geliştirdim:

Mevcut uygulama modu: geliştirici.

Bazı nedenlerden dolayı, defaultsadece web sitesinin bu moddaki davranışını kontrol etmek için moda geri dönmek istedim . Dürüst olmak için belirli bir neden yok, sadece bu moda geri dönmek istedim.

Bu yüzden aşağıdaki komutu koştum:

php bin/magento deploy:mode:set default

Ancak bu garip hatayı başka bir açıklama olmadan aldım:

Cannot switch into given mode "default"

Mod ayarlarını yapan aşağıdaki dosyayı kontrol ettim Magento/Deploy/Console/Command/SetModeCommand.phpve işte bulduklarım:

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

Tuhaf olan şu ki, Magento 2 varsayılan modda gönderilir, ancak belirli bir moda geri dönemezsiniz . Bunun arkasındaki sebep nedir?

Düzenleme: ilgilenenler için github ile ilgili bir sorun yaratmadım: https://github.com/magento/magento2/issues/4292


1
Bu çok iyi bir soru ve biz neden varsayılan modu kullanmak istiyorsun ama geliştiriciyi değil, geri bildirim alıyorduk. Ve sebebi "Özel sebep yok" olarak tanımlamış gibisiniz. Fakat aynı fikirdeyim - varsayılan olarak olduğu için modu açıp kapatmamıza izin vermeliyiz. Şu anda backlog görevimizde olası modları listeye eklemek için elimizde bir görev var.
maksek

6
Bunun bir nedeni olabilir: Bir uzantı geliştirdim ve müşterilerimden bazıları varsayılan modda çalışıyor olabilir
Fooman'daki Kristof

Yanıtlar:


33

Varsayılan mod ne burada ne de orada.

moda genel bakış

Magento ekibi, canlı sitenizdeki Üretim Modunu veya Geliştirme sırasında Geliştirici Modunu kullanmanızı gerçekten istiyor. Varsayılan Mod'un var olmasının nedeni, en azından başka bir müdahalede bulunmadan doğrudan indirilen koddan konuşlandırıldığında en azından makul bir şekilde çalışacak bir şeye sahip olmaktır.

Koşarak php bin/magento deploy:mode:setkendinizi yetenekli olarak tanımladınız ve varsayılan moda ihtiyaç duymuyorsunuz. Varsayılan moda geri dönme gerekliliği olmadığından Magento bunu yapmanın bir yolunu vermedi.


6
O resmi çekmem gerektiğini biliyordum. Bu arada benim solumda 5-6 sandalye oturuyordu :)
Marius

1

2
Önünüzdeki tek oy olmanızın nedeni, sizi yenmememdi :).
Marius

3
Marius'un geride kalmasının sebebi, onu reddetmem:
philwinkle

3
"Varsayılan" moda geri dönme istemesinin nedeni, "geliştirici" modunun çok yavaş olması nedeniyle açıktır. Sayfanızı test etmek, geliştirmenin önemli bir parçasıdır ve yavaşlatılmamalı veya "üretim" modunu kullanarak her şeyi tam olarak dağıtmaya gerek duymamalıdır. Bir geliştirici olarak, "geliştirici" ile "üretim" arasında karar vermeye zorlanmak yerine "varsayılan" modun olumsuzluklarına maruz kalmayı tercih ettim
leedch

18

Varsayılan mod yalnızca Magento 2'yi kurmak
içindir. Geliştirme veya üretim için kullanılmamalıdır.
Kurulumdan sonra sadece dev ve prod arasında geçiş yapabilirsiniz.

Kaynak: Alan Kent @ MagentoImagine2016



10

Windows geliştiricisi olarak, geliştirici modunda, Magento statik varlıklara sembolik bağlantılar oluşturmak istiyor, ancak Windows komutunu Windows komutunu kullanıyor, windows komutunu kullanmıyor. Bu, js ve css dosyalarında çok fazla hata oluşturur.

Varsayılan moda geri dönmek için aşağıdakileri açın: -

Uygulama / etc / env.php

Ve değişim:-

'MAGE_MODE' => 'geliştirici'

Geri dön: -

'MAGE_MODE' => 'varsayılan'

Ve statik dosyaları tekrar dağıtın.


Not: Ortam değişkenleri bu değeri geçersiz kılabilir.
Elzo Valugi

1
Magento'nun resmi olarak Windows'u desteklemediğini, bu nedenle Windows'ta geliştirmeye çalışmanın başka sorunlar da yaratabileceğini unutmayın.
ProcessEight


0

** ayar modu 2.3.x **

Şimdi Magento 2.3.x'den varsayılan moda geri dönmemize izin veriyor

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.