มีวิธีใดบ้างที่จะให้ Drush ดาวน์โหลดการพึ่งพาที่จำเป็นทั้งหมดสำหรับโมดูลเฉพาะ


20

ตัวอย่างเช่นถ้าคุณทำคำสั่งต่อไปนี้:

drush dl views
drush en views views_ui views_export

คุณจะได้รับข้อผิดพลาดต่อไปนี้เมื่อพยายามเปิดใช้งานโมดูลมุมมอง:

ไม่สามารถเปิดใช้งานมุมมองโมดูลได้เนื่องจากขึ้นอยู่กับโมดูลต่อไปนี้ซึ่งไม่สามารถหาได้: ctools

มีวิธีใดบ้างที่จะให้ drush ดาวน์โหลดโปรแกรมที่ขึ้นกับความต้องการของโมดูล?


จริง ๆ แล้ว Drupal ควรจะรวมนักแต่งเพลงเข้าด้วยกัน การจัดการการพึ่งพาจะได้รับการจัดการอย่างดีจากนั้น
David

Drush รุ่นใหม่กว่าที่มีdrush en -yจะดาวน์โหลดและเปิดใช้งานการอ้างอิงโดยอัตโนมัติ
tyler.frankenstein

คำตอบ:


18

Drush 5 ขึ้นไป:

Drush รุ่นใหม่กว่า (เวอร์ชั่น 5 ขึ้นไป) จะถามคุณว่าคุณต้องการดาวน์โหลดการพึ่งพาที่จำเป็นเมื่อคุณเปิดใช้งาน ( drush en) โมดูลหรือไม่ นอกจากนี้ยังจะถามว่าคุณต้องการดาวน์โหลดโมดูลเองหรือไม่ถ้าคุณยังไม่ได้ดาวน์โหลด เมื่อรวมกับตัวเลือก "-y" (เช่นdrush en views -y) ทุกอย่างจะถูกดาวน์โหลดและเปิดใช้งานโดยอัตโนมัติโดยไม่ต้องถามคำถามเพิ่มเติม

โปรดทราบว่าการดาวน์โหลดการอ้างอิงอัตโนมัติอาจล้มเหลวหากชื่อโมดูลที่ต้องการไม่เหมือนกับชื่อโครงการใน drupal.org สำหรับข้อมูลเพิ่มเติมดูคำตอบดั้งเดิมของฉันสำหรับ Drush 4 ด้านล่าง

คำตอบเดิม (Drush 4):

ไม่ไม่มีวิธีทำเช่นนั้น ปัญหาคือว่ามีความแตกต่างระหว่างโมดูลและโครงการ บ่อยครั้งที่ (แต่ไม่เสมอไป) ชื่อของโครงการจะเหมือนกับโมดูล (หรือหนึ่งในโมดูล) ที่มีอยู่ในโครงการ โครงการเดียว (เช่นการดู) สามารถมีหลายโมดูล (มุมมอง, views_ui, views_export) ในขณะที่drush dlการดาวน์โหลดโครงการ , drush enช่วยให้โมดูล

เมื่อโมดูลประกาศการพึ่งพามันจะประกาศการพึ่งพาในโมดูลไม่ใช่โครงการ เมื่อดำเนินการdrush en, Drush สามารถตรวจสอบว่าโมดูลที่ต้องการนั้นมีอยู่หรือไม่ อย่างไรก็ตามหากไม่สามารถใช้งานได้ Drush ไม่มีทางรู้ว่าจะดาวน์โหลดโครงการใด เพื่อให้ Drush สามารถดาวน์โหลดโครงการที่ต้องการได้โดยอัตโนมัติจำเป็นต้องทำงานในโครงงานพื้นฐาน / โมดูลพื้นฐานดังนั้น Drush จึงสามารถดึงการแมปของโครงการและโมดูลได้ ดูเพิ่มเติมการจัดการอย่างชาญฉลาดการอ้างอิงที่ขาดหายไป


9

ที่จริงแล้ว drush5 (ยังอยู่ในการพัฒนา) มีแผนที่ของการอ้างอิงที่รู้จักกันทั่วไป (content.module, ctools, ... ) ดังนั้นมันจึงดาวน์โหลด ctools ให้คุณในตัวอย่างของคุณ


6

นี่ไม่ใช่ปัญหาอีกต่อไปเนื่องจาก 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):

2

บางโมดูลหรือโครงการรวมถึงสคริปต์drush makeซึ่งสามารถดาวน์โหลดการพึ่งพาและติดตั้งไลบรารีภายนอก

อย่างไรก็ตามนี่ไม่ใช่กรณีส่วนใหญ่และมีปัญหาเกี่ยวกับการซ้อนของ drush ทำให้สคริปต์ มันยังคุ้มค่าที่จะมองหาโมดูลบางตัวที่ซับซ้อนกว่าในการตั้งค่า


1
ฉันคิดว่าคุณหมายถึง 'Drush make' ( drupal.org/project/drush_make ) ไม่ใช่ 'Drush build' แต่คุณพูดถูกเพราะไฟล์ drush make แสดงรายการโปรเจ็กต์ที่ต้องการสำหรับบิลด์จึงสามารถดาวน์โหลดการพึ่งพาได้
marcvangend

2

ลองใช้โมดูลอัปเดตด่วน มันจะดาวน์โหลดโครงการอ้างอิงที่หายไปทั้งหมดสำหรับคุณ

นี่คือคำพูดเกี่ยวกับมัน (จากหน้าโครงการของโมดูล):

... เป็นวิธีที่รวดเร็วในการติดตั้งหลายโครงการใหม่หรือโครงการพึ่งพาทั้งหมดที่หายไป

Drupal core มีวิธีในการติดตั้งโมดูลหรือชุดรูปแบบทีละรายการ แต่คุณสามารถติดตั้งหลายโครงการผ่านโมดูลการปรับปรุงด่วน มี UI ของผู้ดูแลระบบเพื่อค้นหาโครงการที่ติดตั้งส่วนใหญ่ได้ง่ายขึ้น

เพิ่มเติมโมดูลการอัปเดตด่วนจะค้นหาโครงการพึ่งพาทั้งหมดที่หายไปสำหรับคุณจากนั้นคุณสามารถเลือกได้ทั้งหมดจาก UI ของผู้ดูแลระบบและติดตั้งในกระบวนการแบทช์

โมดูลการอัปเดตด่วนขึ้นอยู่กับโมดูลอัปเดตและใช้เวิร์กโฟลว์เดียวกับโมดูลอัปเดต ดังนั้นคุณสามารถเรียกใช้การอัปเดตผ่านหน้าอัปเดตผู้ดูแลระบบที่ / admin / reports / updates / update

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.