Magento 2 में तृतीय पक्ष एक्सटेंशन स्थापित करने के लिए सर्वोत्तम अभ्यास क्या हैं?


16

Magento 2 के लिए एक क्लाइंट प्रोजेक्ट पर काम करते हुए - मैंने थर्ड पार्टी एक्सटेंशन को ट्रैक करने और रखने के कई तरीकों की खोज की है।

यह मानते हुए कि हम इंटीग्रेटर इंस्टॉलेशन मेथड (कम्पोज़र!) का उपयोग कर रहे हैं, थर्ड पार्टी एक्सटेंशन के प्रबंधन के लिए सर्वोत्तम अभ्यास क्या हैं?

अब तक, मेरे द्वारा खरीदे गए या डाउनलोड किए गए हर एक्सटेंशन की अपनी कंपोज़र.जसन फ़ाइल है - और मुझे कम से कम तीन अलग-अलग तरीकों के बारे में पता है, जो लेखक अपने एक्सटेंशन को स्थापित करने के लिए सुझाएंगे:

  1. इन फाइलों को ऐप / कोड में कॉपी करें
  2. इस ज़िप को फ़ोल्डर में कॉपी करें, इसे जोड़ें एक विरूपण साक्ष्य भंडार है, और इसकी आवश्यकता है
  3. इस ऑनलाइन रिपॉजिटरी (साथ / बिना) के साथ जोड़ें और इसकी आवश्यकता है

अब तक, मैं 1 और 2 के पार आया हूँ और मैं # 3 पर शक करने के लिए मौजूद हूँ। लेकिन फिर, यह देखते हुए कि जिन लोगों ने # 1 का सुझाव दिया था, मैंने पाया कि आपके पास "पथ" रिपॉजिटरी हो सकती है - मैंने अपने एक्सटेंशन को ऐप / कोड से उसी फ़ोल्डर में स्थानांतरित कर दिया, जहां मैंने इन कलाकृतियों को रखने का फैसला किया था, और इसे इस तरह से आवश्यक था।

इस प्रक्रिया में, मेरे रिपॉजिटरी कॉन्फ़िगरेशन कुछ इस तरह दिखता है:

"repositories": {
    "0": {
        "type": "composer",
        "url": "https://repo.magento.com/"
    },
    "artifacts": {
        "type": "artifact",
        "url": "artifacts"
    },
    "third-party": {
        "type": "path",
        "url": "artifacts/*/*"
    },
},

तो मेरा आपसे सवाल है - यहाँ सबसे अच्छा अभ्यास क्या है? आप तृतीय पक्ष एक्सटेंशन का प्रबंधन कैसे करते हैं?

अब तक मुझे विश्वास है कि मैं जिस तरह से कर रहा हूं वह सबसे अच्छा तरीका है - यदि केवल इसलिए कि उनका कंपोजर.जॉन पढ़ता है और कोई निर्भरता संघर्ष (या पीएचपी संस्करण की कमी) स्पष्ट हो जाएगा - लेकिन मुझे नहीं लगता कि यह निश्चित रूप से पर्याप्त है।

जवाबों:


8
  • कंपोज़र के माध्यम से मॉड्यूल इंस्टॉल करना Magento के लिए सबसे अच्छा तरीका है। 2. अगर हम संगीतकार के माध्यम से मॉड्यूल स्थापित करते हैं तो कई फायदे हैं।

  • यदि आप मॉड्यूल को अपग्रेड करना चाहते हैं, तो आपको बस composer.jsonफ़ाइल में संस्करण को बदलने और composer updaterootMagentoento पर कमांड चलाने की आवश्यकता है।

  • जबकि मैनुअल इंस्टॉलेशन में आपको पहले मॉड्यूल डाउनलोड करने और पुरानी फाइलों को बदलने और setup:upgradeमॉड्यूल को अपग्रेड करने के लिए कमांड चलाने की आवश्यकता होती है ।

  • सभी मॉड्यूल जो संगीतकार के माध्यम से इंस्टॉल किए जाते हैं, वे विक्रेता फ़ोल्डर में डाउनलोड किए जाते हैं।

  • यदि आप Magento Marketplace से मॉड्यूल खरीदते हैं तो Magento मॉड्यूल डाउनलोड करने के लिए डिफ़ॉल्ट https://repo.magento.com/ URL का उपयोग करता है ।

  • यदि आप तृतीय-पक्ष वेबसाइट से मॉड्यूल खरीदते हैं। आपको एक मॉड्यूल डाउनलोड करने और इंस्टॉल करने के लिए कंपोजर में एक रिपॉजिटरी जोड़ने की जरूरत है।

उदाहरण के लिए

"repositories": {
    "0": {
        "type": "composer",
        "url": "https://repo.magento.com/" //Default Magento Repositry
    },
    "thirdparty-module": {
        "type": "composer",
        "url": "https://mymodule.thirdparty.com/" //Third Party Repositary
    }
},

मेरी राय में संगीतकार Magento 2 में मॉड्यूल स्थापित करने का सबसे अच्छा और उचित तरीका है।

तृतीय पक्ष मॉड्यूल वाया संगीतकार स्थापित करें:

  1. Conposer.json में नए रिपॉजिटरी को जोड़ने के लिए इस कमांड को रन करें

संगीतकार विन्यास repositories.thirdparty-मॉड्यूल git https://thirdparty-composer-url.com

  1. कंपोजर.जॉन में मॉड्यूल के घटक और संस्करण को जोड़ने के लिए अब इस कमांड को चलाएं

संगीतकार को [घटक-नाम] की आवश्यकता होती है: [संस्करण]

Forex.  composer require prince/helloword:1.0.0
  1. अब रिपॉजिटरी से मॉड्यूल डाउनलोड करने के लिए कंपोजर अपडेट चलाएं

संगीतकार अपडेट

  1. अब मॉड्यूल को स्थापित करने और पंजीकृत करने के लिए चलाएंsetup:upgrade config.php

php बिन / Magento सेटअप: उन्नयन


1

अजीब तरह से सभी उत्तर उस बिंदु को याद करते हैं जो आपने कलाकृतियों को एक संभावना के रूप में पहचाना है:

https://getcomposer.org/doc/05-repositories.md#artifact

मॉड्यूल आपूर्तिकर्ता (एस) के पास रेपो नहीं हो सकता है कि आप कलाकृतियों का उपयोग कर सकें, इसका उत्तर है। अधिकांश (जो मैंने चलाया है) आपको फ़ाइलों के लिए एक ज़िप पैकेज देगा ताकि कलाकृतियों के माध्यम से संगीतकार के साथ उपयोग करना IMHO सबसे आसान तरीका है।

बेशक आप 3rd पार्टी मॉड्यूल फ़ाइलों के लिए अपने स्वयं के रेपो की सुविधा दे सकते हैं, लेकिन व्यक्तिगत रूप से मुझे उन पर अतिरिक्त कदम जाने की बात नहीं दिखती है।

सोचा कि यह उल्लेख के लायक है कि क्या आप उन्हें ऐप फ़ोल्डर में जोड़ते हैं और फ़ाइलें बनाते हैं, या अपने स्वयं के रेपो के साथ आप आसानी से स्पॉट कर सकते हैं कि 3 पार्टी एक्सटेंशन के संस्करणों के बीच क्या फाइलें बदल गई हैं।

वैसे भी मुझे यह लेख arficats का उपयोग करने पर मिला है https://magently.com/blog/magento-2-the-right-way-to-install-external-modules/ इसलिए अन्य लोग उस प्रवाह का भी उपयोग कर रहे हैं।


-1

इसे करने के दो तरीके हैं, कृपया इन्हें नीचे पाएं।

(1) संगीतकार का उपयोग करके स्वचालित इंस्टालेशन

मार्केटप्लेस से डाउनलोड उत्पाद की खरीद और डाउनलोड किए गए उत्पाद की जानकारी से घटक का नाम जांचें और एप्लिकेशन रूट में कंपोजर.जॉन फ़ाइल को अपडेट करने के लिए उदाहरण कोड का उपयोग करें ।

नोट: अपने git कमिट में शामिल करने के लिए कंपोजर.ब्लॉक फ़ाइल शामिल करना न भूलें।

आधिकारिक संदर्भ: http://devdocs.magento.com/guides/v2.0/cloud/howtos/install-compenders.html

(2) मैनुअल इंस्टॉलेशन

अपने डाउनलोड से घटक ज़िप फ़ाइल डाउनलोड करें और अस्थायी स्थान पर अनज़िप करें और यह पंजीकरण करें। फ़ाइल की जाँच करें, वहाँ आपको कंपोज़र विक्रेता का नाम और घटक नाम दिखाई देगा। अंदर समान निर्देशिका संरचना बनाएँ।

app/code/VendorName/ComponentName

निर्देशिका संरचना के ऊपर अपनी ज़िप फ़ाइल निकालें और मॉड्यूल को सक्षम करने के लिए अपने एप्लिकेशन रूट निर्देशिका से आदेशों के नीचे चलाएं।

php bin/magento module:enable VendorName_ComponentName
php bin/magento setup:upgrade
php bin/magento setup:di:compile
php bin/magento cache:flush
php -R 777 var/

नीचे दिए गए कमांड का उपयोग करके चेक मॉड्यूल सक्षम है। यह सभी सक्षम और अक्षम मॉड्यूल सूची दिखाएगा।

php bin/magento module:status

उम्मीद है की यह मदद करेगा!


मुझे अभी तक सही उत्तर नहीं मिला। हालांकि, इस पर अधिक भ्रम हुआ।
कपिल यादव

-2

मैंने एक्सटेंशन को ऐप / कोड के तहत रखकर Magento2 के लिए एक्सटेंशन इंस्टॉल कर दिया है और वेबसाइट मेरे लिए अच्छा काम कर रही है, इसलिए ऐप / कोड के तहत एक्सटेंशन लगाकर उन्हें इंस्टॉल करना एक्सटेंशन इंस्टॉल करने का एक तरीका है!


-2

थर्ड पार्टी एक्सटेंशन का प्रबंधन करने के लिए सबसे अच्छा अभ्यास ज़िप फ़ाइल को डाउनलोड करना है और ऐप / कोड फ़ोल्डर के अंदर ज़िप आयात करना और इसे अनज़िप करना है।

इसके बाद निम्न कमांड का उपयोग करें

  1. php बिन / Magento मॉड्यूल: सक्षम _
  2. php बिन / Magento सेटअप: उन्नयन
  3. php बिन / Magento सेटअप: di: संकलन

सावधान रहें: यह सबसे अच्छा अभ्यास नहीं है। के माध्यम से मॉड्यूल स्थापित app/codeकरने का उपयोग करने की सिफारिश नहीं की जानी है composercomposerइसके बजाय उपयोग करें ।
जिस्से रीत्समा
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.