क्या एक विशिष्ट मॉड्यूल के लिए सभी आवश्यक निर्भरताओं को डाउनलोड करने के लिए ड्रश प्राप्त करने का एक तरीका है?


20

उदाहरण के लिए यदि आप निम्नलिखित कमांड करते हैं:

drush dl views
drush en views views_ui views_export

विचार मॉड्यूल को सक्षम करने का प्रयास करते समय आपको निम्न त्रुटि मिलेगी:

मॉड्यूल दृश्य सक्षम नहीं किए जा सकते क्योंकि यह निम्नलिखित मॉड्यूल पर निर्भर करता है जो नहीं मिल सकता है: ctools

क्या आवश्यक मॉड्यूल निर्भरता डाउनलोड करने के लिए ड्रश प्राप्त करने का एक तरीका है?


वास्तव में ड्रुपल को सिर्फ संगीतकार को एकीकृत करना चाहिए। निर्भरता प्रबंधन तब अच्छी तरह से संभाला जाएगा।
डेविड

Drush के नए संस्करण drush en -yस्वचालित रूप से डाउनलोड और निर्भरता को सक्षम करेंगे।
tyler.frankenstein

जवाबों:


18

ड्रश 5 और ऊपर:

Drush के नए संस्करण (संस्करण 5 और उच्चतर) आपसे पूछेंगे कि क्या आप drush enमॉड्यूल को सक्षम करने ( ) करने के दौरान आवश्यक निर्भरताएँ डाउनलोड करना चाहते हैं । यह भी पूछेगा कि क्या आप स्वयं मॉड्यूल डाउनलोड करना चाहते हैं यदि आपने अभी तक इसे डाउनलोड नहीं किया है। "-Y" विकल्प (जैसे drush en views -y) के साथ संयुक्त , सब कुछ डाउनलोड किया जाएगा और आगे के प्रश्न पूछे बिना स्वचालित रूप से सक्षम किया जाएगा।

ध्यान दें कि यदि आवश्यक मॉड्यूल का नाम drupal.org पर उसके प्रोजेक्ट नाम के समान नहीं है, तो निर्भरता की स्वचालित डाउनलोडिंग विफल हो सकती है। अधिक जानकारी के लिए, नीचे Drush 4 के लिए मेरा मूल उत्तर देखें।

मूल उत्तर (Drush 4):

नहीं, ऐसा करने का कोई तरीका नहीं है। समस्या यह है कि एक मॉड्यूल और एक परियोजना के बीच अंतर है। अक्सर (लेकिन हमेशा नहीं) परियोजना का नाम परियोजना में निहित मॉड्यूल (या मॉड्यूल में से एक) के समान है। एक एकल परियोजना (उदाहरण के लिए।) में कई मॉड्यूल (दृश्य, दृश्य_यू, विचार_एक्सपोर्ट) हो सकते हैं। drush dlएक प्रोजेक्ट डाउनलोड करते समय , drush enएक मॉड्यूल को सक्षम करता है

जब एक मॉड्यूल निर्भरता की घोषणा करता है, तो यह मॉड्यूल पर निर्भरता की घोषणा करता है, न कि परियोजनाओं पर। ए का प्रदर्शन करते समय drush en, ड्रश यह जांच सकता है कि क्या आवश्यक मॉड्यूल उपलब्ध है। हालाँकि अगर यह उपलब्ध नहीं है, तो Drush के पास यह जानने का कोई तरीका नहीं है कि किस प्रोजेक्ट को डाउनलोड करना है। ड्रश स्वचालित रूप से आवश्यक परियोजनाओं को डाउनलोड करने में सक्षम होने के लिए, अंतर्निहित परियोजनाओं / मॉड्यूल बुनियादी ढांचे में काम करने की आवश्यकता होती है, इसलिए ड्रश परियोजनाओं और मॉड्यूल की मैपिंग को पुनः प्राप्त कर सकता है। गुम निर्भरता की स्मार्टरिंग भी देखें ।


9

दरअसल, drush5 (अभी भी विकास में) में ज्ञात, सामान्य निर्भरता (content.module, ctools, ...) का एक नक्शा है। तो यह वास्तव में आपके उदाहरण में आपके लिए ctools डाउनलोड करता है।


6

यह अब एक समस्या नहीं है क्योंकि ड्रुश के नवीनतम संस्करण इस "स्वचालित रूप से" करते हैं:

The following projects have unmet dependencies:[ok]
answers requires strongarm, references, nodereference_url, nodereference_count, eva
Would you like to download them? (y/n):

2

कुछ मॉड्यूल, या परियोजनाओं में एक ड्रश मेक स्क्रिप्ट शामिल है, जो निर्भरता डाउनलोड कर सकती है और बाहरी लाइब्रेरी स्थापित कर सकती है।

हालाँकि, यह ज्यादातर ऐसा नहीं है, और ड्रश मेक स्क्रिप्स के नेस्टिंग के साथ समस्याएँ हैं। यह अभी भी कुछ ऐसे मॉड्यूलों की तलाश में है जो स्थापित करने के लिए अधिक जटिल हैं।


1
मुझे लगता है कि आपका मतलब 'ड्रश मेक' ( drupal.org/project/drush_make ) 'ड्रश बिल्ड' नहीं है। लेकिन आप सही हैं, क्योंकि एक ड्रश मेक फाइल उन परियोजनाओं को सूचीबद्ध करती है जो निर्माण के लिए आवश्यक हैं, यह निर्भरता डाउनलोड करने में सक्षम है।
Marcvangend

2

त्वरित अद्यतन मॉड्यूल का प्रयास करें । यह आपके लिए सभी गुम निर्भरता परियोजनाओं को डाउनलोड करेगा।

यहाँ इसके बारे में एक उद्धरण है (मॉड्यूल के परियोजना पृष्ठ से):

... कई नई परियोजनाओं या सभी लापता निर्भरता परियोजनाओं को स्थापित करने के लिए एक त्वरित तरीका प्रदान करता है।

Drupal core एक-एक करके मॉड्यूल या थीम को इंस्टॉल करने का एक तरीका प्रदान करता है, लेकिन आप क्विक अपडेट मॉड्यूल के माध्यम से कई प्रोजेक्ट स्थापित कर सकते हैं। सबसे स्थापित परियोजनाओं को आसानी से खोजने के लिए एक व्यवस्थापक यूआई है।

अतिरिक्त, त्वरित अपडेट मॉड्यूल आपके लिए सभी गुम निर्भरता परियोजनाओं को ढूंढता है, फिर आप व्यवस्थापक यूआई से उन सभी का चयन कर सकते हैं और उन्हें बैच प्रक्रिया में स्थापित कर सकते हैं।

त्वरित अपडेट मॉड्यूल अपडेट मॉड्यूल पर निर्भर करता है और अपडेट मॉड्यूल के समान वर्कफ़्लो का उपयोग करता है। इस प्रकार, आप व्यवस्थापक अपडेट पृष्ठ पर / व्यवस्थापक / रिपोर्ट / अपडेट / अपडेट के माध्यम से अपडेट चला सकते हैं।

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