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
एक कारण यह होगा: मैंने एक एक्सटेंशन विकसित किया है और मेरे कुछ ग्राहक डिफॉल्ट मोड में चल रहे हैं
क्रिस्टोफ़ फ़ोमन

जवाबों:


33

डिफ़ॉल्ट मोड न तो यहां है और न ही है।

मोड अवलोकन

Magento टीम वास्तव में विकास के दौरान अपनी लाइव साइट या डेवलपर मोड पर या तो उत्पादन मोड का उपयोग करना चाहती है। डिफ़ॉल्ट मोड मौजूद होने का कारण कुछ ऐसा है जो बिना किसी हस्तक्षेप के सीधे डाउनलोड किए गए कोड से सीधे तैनात होने पर कम से कम यथोचित रूप से चलेगा।

चलाकर php bin/magento deploy:mode:setआपने खुद को सक्षम के रूप में पहचाना है और डिफ़ॉल्ट मोड की आवश्यकता नहीं है। चूंकि डिफ़ॉल्ट मोड पर वापस जाने के लिए कोई कारण नहीं है, इसलिए Magento ने आपको ऐसा करने का कोई तरीका प्रदान नहीं किया।


6
मुझे पता था कि मुझे वह तस्वीर लेनी चाहिए थी। वैसे आप अपने बाएं :) पर 5-6 कुर्सियों बैठे थे
मेरियस

1
एक मुद्दा बनाते हुए समाप्त हुआ: github.com/magento/magento2/issues/4292
डिजिटल पियानोवाद पर राफेल

2
आपके द्वारा एक वोट आगे किए जाने का कारण यह है क्योंकि मैंने आपको उतारा है :)।
मेरियस

3
मारियस के पीछे का कारण है कि मैंने उसे
नीचा दिखाया है

3
"डिफॉल्ट" मोड पर वापस जाने का कारण स्पष्ट रूप से है क्योंकि "डेवलपर" मोड बहुत धीमा है। अपने पृष्ठ का परीक्षण करना विकास का एक महत्वपूर्ण हिस्सा है और इसे धीमा नहीं करना चाहिए और न ही "उत्पादन" मोड का उपयोग करके पूरी तरह से सब कुछ तैनात करने की आवश्यकता है। एक डेवलपर के रूप में मैंने "डेवलपर" और "प्रोडक्शन" के बीच फैसला करने के लिए मजबूर होने के बजाय "डिफ़ॉल्ट" मोड के डाउनसाइड्स को झेलने के लिए चुना
17'13 बजे लेडेक

18

डिफ़ॉल्ट मोड केवल Magento 2 को स्थापित करने के लिए है।
इसका उपयोग विकास या उत्पादन के लिए नहीं किया जाना चाहिए।
स्थापना के बाद आप केवल देव और उत्पादों के बीच स्विच कर सकते हैं।

स्रोत: एलन केंट @ MagentoImagine2016


एक मुद्दा बनाते हुए समाप्त हुआ: github.com/magento/magento2/issues/4292
डिजिटल पियानोवाद पर राफेल

10

एक विंडोज़ डेवलपर के रूप में, डेवलपर मोड में, Magento स्थिर संपत्ति के लिए प्रतीकात्मक लिंक बनाना चाहता है, लेकिन लिनक्स कमांड का उपयोग करता है, न कि विंडोज़ कमांड का। यह js और css फ़ाइलों में बहुत सारी त्रुटियाँ पैदा करता है।

डिफ़ॉल्ट मोड पर वापस जाने के लिए, खोलें: -

एप्लिकेशन / etc / env.php

और बदलें: -

'MAGE_MODE' => 'डेवलपर',

वापस:-

'MAGE_MODE' => 'डिफ़ॉल्ट'

और फिर से स्थिर फ़ाइलों को फिर से तैनात करें।


नोट: पर्यावरण चर इस मान को ओवरराइड कर सकते हैं।
एलोजो वलूगी

1
ध्यान दें कि Magento आधिकारिक तौर पर Windows का समर्थन नहीं करता है, इसलिए Windows पर विकसित करने की कोशिश करने से अन्य समस्याएं भी उत्पन्न हो सकती हैं।
प्रॉसेसईट जूल

1

मैं उसी समस्या के साथ भाग गया, लेकिन इसे env.phpमैन्युअल रूप से काम करने में बदल रहा हूं ।


हाँ, मुझे पता है कि मैं इसे सीधे कर सकता था मैं सोच रहा था कि यह CLI के माध्यम से क्यों संभव नहीं है
राफेल डिजिटल पियानोवाद

0

** सेट मोड 2.3.x **

अब Magento हमें 2.3.x से डिफ़ॉल्ट मोड पर वापस जाने की अनुमति देता है

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.