it-swarm-id.com

Apakah ada cara agar Crush mengunduh semua dependensi yang diperlukan untuk modul tertentu?

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?

20
Camsoft

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 bahwa 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). Sementara drush dl mengunduh proyek , drush en mengaktifkan 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 tidak tersedia, Drush tidak memiliki cara untuk mengetahui proyek mana 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 Penanganan cerdas atas dependensi yang hilang .

18
marcvangend

Sebenarnya, drush5 (masih dalam pengembangan) memiliki peta yang diketahui, ketergantungan umum (content.module, ctools, ...). Jadi itu memang mengunduh ctools untuk Anda dalam contoh Anda.

9
moshe weitzman

ini bukan masalah lagi karena versi terbaru drush melakukan ini "secara otomatis":

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

Beberapa modul, atau proyek menyertakan skrip drush make, yang dapat mengunduh dependensi dan menginstal pustaka 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.

2
Jeremy French

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):

... menyediakan cara cepat untuk menginstal banyak proyek baru atau semua proyek ketergantungan yang hilang.

Drupal core menyediakan cara untuk menginstal modul atau tema satu per satu, tetapi Anda dapat menginstal beberapa proyek melalui modul Pembaruan cepat. Ada UI admin untuk mencari proyek yang paling terinstal dengan lebih mudah.

Tambahan, modul Pembaruan cepat menemukan semua proyek ketergantungan yang hilang untuk Anda, maka Anda bisa memilih semuanya dari UI admin dan menginstalnya dalam proses batch.

Modul Pembaruan cepat tergantung pada modul Pembaruan dan menggunakan alur kerja yang sama dengan modul Pembaruan. Dengan demikian, Anda dapat menjalankan pembaruan melalui halaman pembaruan admin di/admin/laporan/pembaruan/pembaruan.

2
Jay Chen