logo

एक्स्ट्रा ब्लॉक टाइप्स (EBT) - नया लेआउट बिल्डर अनुभव❗

एक्स्ट्रा ब्लॉक टाइप्स (EBT) - स्टाइलिश, कस्टमाइज़ेबल ब्लॉक टाइप्स: स्लाइडशो, टैब्स, कार्ड्स, एकॉर्डियन्स और कई अन्य। बैकग्राउंड, DOM बॉक्स, जावास्क्रिप्ट प्लगइन्स के लिए बिल्ट-इन सेटिंग्स। आज ही लेआउट बिल्डिंग का भविष्य अनुभव करें।

डेमो EBT मॉड्यूल्स EBT मॉड्यूल्स डाउनलोड करें

❗एक्स्ट्रा पैराग्राफ टाइप्स (EPT) - नया पैराग्राफ्स अनुभव

एक्स्ट्रा पैराग्राफ टाइप्स (EPT) - एनालॉजिकल पैराग्राफ आधारित मॉड्यूल्स का सेट।

डेमो EPT मॉड्यूल्स EPT मॉड्यूल्स डाउनलोड करें

स्क्रॉल

Composer के माध्यम से कोर अपडेट करना

06/10/2025, by Ivan

यह दस्तावेज़ अपूर्ण है। अधिक जानकारी जोड़ें।

क्या आपको Drupal 8.8.0 या उससे नए संस्करण में अपडेट करने में समस्या आ रही है?
Drupal 8.8.0 में Composer पहल के हिस्से के रूप में प्रमुख परिवर्तन किए गए थे, जिससे दीर्घकालिक रूप से Drupal साइट प्रबंधन के लिए Composer कार्यप्रवाह में काफी सुधार हुआ। हालाँकि, कुछ विशेष नोट्स हैं जो पुराने संस्करणों से अपडेट को प्रभावित कर सकते हैं।

प्रारंभिक कदम

यह समझने के लिए कि Composer Drupal की निर्भरताओं को कैसे प्रबंधित करता है, देखें Drupal के साथ Composer का उपयोग। यह तय करने के लिए कि Composer आपके अपडेट के लिए उपयुक्त है या नहीं, उपलब्ध विकल्पों की तुलना करें।

सुविधा के लिए, इन निर्देशों में Drush कमांड भी शामिल हैं, जिन्हें अपडेट प्रक्रिया को पूरा करने के लिए आवश्यक है — कई लोग इसे वेब इंटरफ़ेस की तुलना में तेज़ और सरल पाते हैं।

यदि यह एक मौजूदा Drupal साइट है जहाँ पहले कभी Composer का उपयोग नहीं किया गया है, तो पहले सुनिश्चित करें कि यह Composer के लिए तैयार है।

Drupal 8 कोर अपडेट करना

पहले यह सुनिश्चित करें कि Drupal कोर के लिए कोई अपडेट उपलब्ध है:

composer update --dry-run "drupal/*"

यह किसी भी माइनर या पैच अपडेट को दिखाएगा। यदि आउटपुट में drupal/core या drupal/core-recommended नहीं है, तो कोई अपडेट उपलब्ध नहीं है। यदि है, तो नीचे दिए गए कमांड के साथ जारी रखें।

एक-चरणीय अपडेट प्रक्रिया

यदि आप Drupal अपडेट से परिचित हैं और सावधानियाँ जानते हैं, तो अपडेट इस प्रकार किया जा सकता है:

composer update drupal/core --with-dependencies
drush updatedb
drush cache:rebuild

यदि आप अपने प्रोजेक्ट में core-recommended का उपयोग करते हैं, तो drupal/core को drupal/core-recommended से बदलें।

यदि आपने अपनी साइट को drupal-composer/drupal-project का उपयोग करके बनाया है, तो नीचे दिए गए विशेष नोट्स पढ़ें।

8.8.0 या नए संस्करण में अपडेट करने के लिए

drupal-composer/drupal-project का नवीनतम संस्करण Drupal 8.8.x के साथ संगत है। हालाँकि, यदि आपने 2019 या इससे पहले यह प्रोजेक्ट इस्तेमाल किया था, तो आपको कुछ एकबारगी बदलाव करने होंगे। ये बदलाव नीचे दिए गए विशेष नोट्स में समझाए गए हैं।

यदि आपने Drupal 8 को Composer से स्थापित नहीं किया है

यदि आपकी साइट Composer द्वारा स्थापित नहीं की गई थी, तो आपको इसे Composer-प्रबंधित प्रोजेक्ट में बदलना होगा। इसके लिए देखें: मौजूदा साइटों में Composer जोड़ना

चरण-दर-चरण अपडेट निर्देश

Composer के माध्यम से Drupal 8 कोर को अपडेट करने के चरण:

1. अपडेट से पहले हमेशा फ़ाइलों और डेटाबेस का बैकअप लें।

  • drush sql:dump डेटाबेस का डंप तैयार करेगा।
  • drush archive-dump अब Drush 9 में नहीं है, इसलिए CLI टूल से बैकअप लें (vendor फ़ोल्डर को छोड़कर)।

2. रिलीज़ नोट्स पढ़ें। कुछ मॉड्यूल या थीम को नए माइनर संस्करण (उदाहरण: 8.3 → 8.4) के साथ संगत होने के लिए अपडेट की आवश्यकता हो सकती है।

3. मेंटेनेंस मोड सक्षम करें (system.maintenance_mode 1), फिर drush cache:rebuild चलाएँ।

4. यदि किसी मॉड्यूल या थीम को अपडेट की आवश्यकता है, तो देखें मॉड्यूल अपडेट निर्देश

5. Drupal कोर और उसकी निर्भरताएँ अपडेट करें:

composer update drupal/core --with-dependencies

या यदि आप core-recommended उपयोग कर रहे हैं:

composer update drupal/core-recommended --with-dependencies

6. drush updatedb चलाएँ और drush cache:rebuild करें।

7. यदि आप कॉन्फ़िगरेशन मैनेजमेंट का उपयोग करते हैं, तो अपडेट के बाद drush config:export --diff चलाएँ ताकि बदलाव देखें और निर्यात करें।

8. Drupal साइट की जाँच करें:

  • “स्टेटस रिपोर्ट” पेज पर त्रुटियाँ देखें।
  • यदि डेटाबेस लॉग मॉड्यूल सक्षम है, तो नवीनतम लॉग में त्रुटियाँ या चेतावनियाँ जाँचें।

9. मेंटेनेंस मोड बंद करें:

drush state:set system.maintenance_mode 0
drush cache:rebuild

10. अपडेट के बाद साइट को एक अनाम उपयोगकर्ता के रूप में भी जांचें।

प्रोडक्शन वातावरण में

  • Composer install चलाने पर composer.lock में सहेजे गए संस्करणों का उपयोग किया जाएगा, इसलिए dev और production दोनों में एक जैसे पैकेज होंगे।
  • प्रोडक्शन में composer install --no-dev का उपयोग करें ताकि dev निर्भरताएँ इंस्टॉल न हों।

Drupal 8.8.0 और नए संस्करणों में अपडेट के विशेष नोट्स

Drupal के आधिकारिक बीटा पार्टनर PreviousNext ने एक ब्लॉग पोस्ट प्रकाशित किया है जिसमें Drupal 8.7 से 8.8.0-beta तक अपडेट करने के चरण दिए गए हैं।

/vendor डायरेक्टरी हटाने का प्रयास करें

कभी-कभी vendor डायरेक्टरी हटाने से Composer अपडेट संघर्षों को हल किया जा सकता है:

cd your_install_dir
rm -rf vendor

webflo/drupal-core-strict से drupal/core-recommended पर माइग्रेशन

Drupal 8.8.0 से पहले, कई साइटें webflo/drupal-core-strict का उपयोग करती थीं। अब Drupal इसका स्थानापन्न drupal/core-recommended प्रदान करता है।

माइग्रेशन के चरण:

  1. composer update
  2. git add composer.lock; git commit
  3. composer remove webflo/drupal-core-strict --no-update
  4. composer remove drupal/core --no-update
  5. composer require 'composer/installers:^1.7' --no-update
  6. rm composer.lock
  7. rm -rf vendor
  8. composer require drupal/core-recommended:^8.8 --update-with-dependencies
  9. git add composer.json composer.lock; git commit -m "Update Drupal to 8.8.0"

webflo/drupal-core-require-dev से drupal/core-dev पर माइग्रेशन

यदि आपकी साइट पुराने dev पैकेज का उपयोग करती है, तो उसे हटाएँ:

composer remove --dev webflo/drupal-core-require-dev

फिर नया dev पैकेज जोड़ें:

composer require --dev drupal/core-dev

पैच अपडेट

यदि आप composer-patches का उपयोग करते हैं, तो आपको अपने पैच reroll करने की आवश्यकता हो सकती है।

सॉफ्ट डिपेंडेंसी संघर्ष

यदि कोई निर्भरता Drupal के नवीनतम संस्करण के साथ असंगत है, तो पहले Composer require के माध्यम से उसे सही संस्करण में अपडेट करें। उदाहरण:

composer require --update-with-dependencies \
drupal/core:^8.8.0 \
symfony/finder:^3.4 \
symfony/filesystem:^3.4

फिर dev निर्भरताएँ:

composer require --dev --update-with-dependencies \
drupal/core-dev:^8.8.0 \
symfony/debug:^3.4

फिर इन अस्थायी निर्भरताओं को हटाएँ:

composer remove -n symfony/finder symfony/filesystem
composer remove -n --dev symfony/debug

डेटाबेस और कॉन्फ़िगरेशन अपडेट करें

drush updb
drush cr
drush config-export

settings.php अपडेट करें

Drupal 8.8.0 में अब $settings['config_sync_directory'] का उपयोग होता है, न कि $config_directories['sync'] का।

$config_directories['sync'] = 'foo/bar';

को बदलें:

$settings['config_sync_directory'] = 'foo/bar';

ज्ञात समस्याएँ और समाधान

यदि composer update चलाने के बाद भी drupal/core अपडेट नहीं होता, तो संभव है कि कोई अन्य निर्भरता इसे रोक रही हो। आप composer prohibits drupal/core:8.5.0 कमांड से यह देख सकते हैं।

कई Composer अपडेट समस्याएँ पुराने टेम्पलेट्स या गलत composer.json सेटिंग्स से जुड़ी होती हैं। सुनिश्चित करें कि आप अनुशंसित टेम्पलेट का उपयोग कर रहे हैं।

जनवरी 2020 से, drupal-composer/drupal-project टेम्पलेट अब Drupal 8.8+ के लिए अनुशंसित नहीं है। इसके बजाय, देखें Drupal Composer प्रोजेक्ट टेम्पलेट्स गाइड।

यदि अपडेट प्रक्रिया के दौरान त्रुटियाँ या चेतावनियाँ आती हैं, तो उन्हें ध्यानपूर्वक पढ़ें और समाधान खोजें। किसी फेटल त्रुटि के मामले में प्रक्रिया को रोकें और बैकअप से पुनः आरंभ करें।