it-swarm.asia

هل هناك طريقة لجعل Crush يقوم بتنزيل جميع التبعيات المطلوبة لوحدة معينة؟

على سبيل المثال ، إذا قمت بتنفيذ الأوامر التالية:

drush dl views
drush en views views_ui views_export

سوف تحصل على الخطأ التالي عند محاولة تمكين وحدات طرق العرض:

لا يمكن تمكين طرق عرض الوحدة النمطية لأنها تعتمد على الوحدات التالية التي تعذر العثور عليها: ctools

هل هناك طريقة للحصول على الثمار لتنزيل تبعيات الوحدة المطلوبة؟

20
Camsoft

Drush 5 and up:

ستطلب منك الإصدارات الأحدث من Drush (الإصدار 5 والإصدارات الأحدث) ما إذا كنت تريد تنزيل التبعيات المطلوبة عند تمكين (drush en) وحدة. سيسألك أيضًا ما إذا كنت تريد تنزيل الوحدة النمطية نفسها إذا لم تقم بتنزيلها بعد. مع خيار "-y" (مثل drush en views -y) ، سيتم تنزيل كل شيء وتمكينه تلقائيًا دون طرح أسئلة إضافية.

لاحظ أن التنزيل التلقائي للاعتمادات قد يفشل إذا لم يكن اسم الوحدة المطلوبة هو نفسه اسم مشروعها على drupal.org. لمزيد من المعلومات ، راجع إجابتي الأصلية لـ Drush 4 أدناه.

الجواب الأصلي (Drush 4):

لا ، لا توجد طريقة للقيام بذلك. تكمن المشكلة في وجود فرق بين الوحدة النمطية والمشروع. غالبًا (ولكن ليس دائمًا) اسم المشروع مطابق للوحدة النمطية (أو إحدى الوحدات) الموجودة في المشروع. يمكن أن يحتوي مشروع واحد (على سبيل المثال ، طرق العرض) على وحدات متعددة (طرق عرض ، طرق عرض ، وجهات نظر ، تصدير). في حين drush dl تنزيل مشروع ، drush en يمكّن وحدة .

عندما تعلن الوحدة عن التبعيات ، فإنها تعلن التبعيات على الوحدات النمطية وليس على المشاريع. عند إجراء drush en ، يمكن لـ Drush التحقق مما إذا كانت الوحدة المطلوبة متاحة. ومع ذلك ، إذا لم يكن متاحًا ، فلن يكون لدى Drush أي طريقة لمعرفة المشروع الذي سيتم تنزيله. لكي يتمكن Drush من تنزيل المشاريع المطلوبة تلقائيًا ، يجب أن يتم العمل في البنية الأساسية للمشاريع/الوحدات الأساسية ، بحيث يمكن لـ Drush استرداد خريطة المشاريع والوحدات النمطية. انظر أيضًا معالجة أذكى للتبعيات المفقودة .

18
marcvangend

في الواقع ، لدى drush5 (لا يزال قيد التطوير) خريطة التبعيات المعروفة والمشتركة (content.module ، ctools ، ...). لذلك يقوم بالفعل بتنزيل ctools لك في مثالك.

9
moshe weitzman

لم تعد هذه مشكلة لأن أحدث إصدارات Drush تقوم بذلك "تلقائيًا":

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

تشتمل بعض الوحدات أو المشاريع على نص drush make الذي يمكنه تنزيل التبعيات وتثبيت المكتبات الخارجية.

ومع ذلك ، ليس هذا هو الحال في الغالب ، وهناك مشاكل في تداخل سكريبت سكريبتات. لا يزال من المفيد البحث عن بعض الوحدات الأكثر تعقيدًا في الإعداد.

2
Jeremy French

جرب التحديث السريع الوحدة النمطية. سيقوم بتنزيل جميع مشاريع التبعية المفقودة لك.

هنا اقتباس عنها (من صفحة مشروع الوحدة):

... يوفر طريقة سريعة لتثبيت مجموعات جديدة متعددة أو جميع مشاريع التبعية المفقودة.

يوفر Drupal core طريقة لتثبيت الوحدة النمطية أو السمة واحدة تلو الأخرى ، ولكن يمكنك تثبيت مشاريع متعددة عبر وحدة التحديث السريع. هناك واجهة مستخدم إدارية للبحث عن المشاريع الأكثر تثبيتًا بسهولة.

بالإضافة إلى ذلك ، تعثر وحدة التحديث السريع على جميع مشاريع التبعية المفقودة نيابةً عنك ، ثم يمكنك فقط تحديدها جميعًا من واجهة مستخدم المشرف وتثبيتها في عملية مجمعة.

تعتمد وحدة التحديث السريع على وحدة التحديث وتستخدم نفس سير العمل مثل وحدة التحديث. وبالتالي ، يمكنك تشغيل التحديثات عبر صفحة تحديث المشرف على/admin/Reports/updates/update.

2
Jay Chen