Misalnya jika Anda melakukan perintah berikut:
drush dl views
drush en views views_ui views_export
Anda akan mendapatkan kesalahan berikut ketika mencoba mengaktifkan modul tampilan:
Tampilan modul tidak dapat diaktifkan karena tergantung pada modul berikut yang tidak dapat ditemukan: ctools
Apakah ada cara untuk mendapatkan drush untuk mengunduh ketergantungan modul yang diperlukan?
drush en -y
akan secara otomatis mengunduh dan mengaktifkan dependensi.Jawaban:
Drush 5 dan lebih tinggi:
Drush versi yang lebih baru (versi 5 dan lebih tinggi) akan menanyakan apakah Anda ingin mengunduh dependensi yang diperlukan saat Anda mengaktifkan (
drush en
) sebuah modul. Ini juga akan menanyakan apakah Anda ingin mengunduh modul itu sendiri jika Anda belum mengunduhnya. Dikombinasikan dengan opsi "-y" (mis.drush en views -y
), Semuanya akan diunduh dan diaktifkan secara otomatis tanpa mengajukan pertanyaan lebih lanjut.Perhatikan bahwa pengunduhan dependensi secara otomatis mungkin gagal jika nama modul yang diperlukan tidak sama dengan nama proyeknya di drupal.org. Untuk info lebih lanjut, lihat jawaban asli saya untuk Drush 4 di bawah ini.
Jawaban asli (Drush 4):
Tidak, tidak ada cara untuk melakukan itu. Masalahnya adalah ada perbedaan antara modul dan proyek. Seringkali (tetapi tidak selalu) nama proyek identik dengan modul (atau salah satu modul) yang terdapat dalam proyek. Satu proyek (mis. Tampilan) dapat berisi banyak modul (views, views_ui, views_export). Saat
drush dl
mengunduh proyek ,drush en
aktifkan modul .Ketika sebuah modul mendeklarasikan dependensi, ia mendeklarasikan dependensi pada modul, bukan proyek. Saat melakukan
drush en
, Drush dapat memeriksa apakah modul yang diperlukan tersedia. Namun jika itu tidak tersedia, Drush tidak memiliki cara untuk mengetahui proyek yang akan diunduh. Agar Drush dapat mengunduh proyek-proyek yang diperlukan secara otomatis, pekerjaan harus dilakukan dalam infrastruktur proyek / modul yang mendasarinya, sehingga Drush dapat mengambil pemetaan proyek dan modul. Lihat juga Lebih cerdas menangani ketergantungan yang hilang .sumber
Sebenarnya, drush5 (masih dalam pengembangan) memiliki peta yang diketahui, ketergantungan umum (content.module, ctools, ...). Jadi itu memang mengunduh ctools untuk Anda dalam contoh Anda.
sumber
ini bukan masalah lagi karena versi terbaru drush melakukan ini "secara otomatis":
sumber
Beberapa modul, atau proyek menyertakan skrip drush make , yang dapat mengunduh dependensi dan menginstal perpustakaan eksternal.
Namun ini sebagian besar tidak terjadi, dan ada masalah dengan skrip pembuatan sarang. Masih layak untuk diperhatikan dengan beberapa modul yang lebih rumit untuk diatur.
sumber
Coba modul Pembaruan cepat . Ini akan mengunduh semua proyek ketergantungan yang hilang untuk Anda.
Berikut ini adalah kutipan tentang hal itu (dari halaman proyek modul):
sumber