it-swarm.it

C'è un modo per convincere Crush a scaricare tutte le dipendenze richieste per un modulo specifico?

Ad esempio se si eseguono i seguenti comandi:

drush dl views
drush en views views_ui views_export

Si otterrà il seguente errore quando si tenta di abilitare i moduli viste:

Le viste dei moduli non possono essere abilitate perché dipendono dai seguenti moduli che non sono stati trovati: ctools

C'è un modo per ottenere drush per scaricare le dipendenze del modulo richieste?

20
Camsoft

Drush 5 e versioni successive:

Le versioni più recenti di Drush (versione 5 e successive) ti chiederanno se desideri scaricare le dipendenze richieste quando attivi (drush en) un modulo. Ti verrà anche chiesto se desideri scaricare il modulo stesso se non lo hai ancora scaricato. Combinato con l'opzione "-y" (ad esempio drush en views -y), tutto verrà scaricato e abilitato automaticamente senza fare ulteriori domande.

Si noti che il download automatico delle dipendenze potrebbe non riuscire se il nome del modulo richiesto non è lo stesso del nome del progetto su drupal.org. Per maggiori informazioni, vedi la mia risposta originale per Drush 4 di seguito.

Risposta originale (Drush 4):

No, non c'è modo di farlo. Il problema è che esiste una differenza tra un modulo e un progetto. Spesso (ma non sempre) il nome del progetto è identico al modulo (o uno dei moduli) contenuto nel progetto. Un singolo progetto (es. Views) può contenere più moduli (views, views_ui, views_export). Mentre drush dl scarica un progetto , drush en abilita un modulo .

Quando un modulo dichiara dipendenze, dichiara dipendenze dai moduli, non dai progetti. Quando si esegue un drush en, Drush può verificare se il modulo richiesto è disponibile. Tuttavia, se non è disponibile, Drush non ha modo di sapere quale progetto scaricare. Affinché Drush sia in grado di scaricare automaticamente i progetti richiesti, è necessario lavorare sull'infrastruttura dei progetti/moduli sottostanti, in modo che Drush possa recuperare una mappatura di progetti e moduli. Vedi anche Gestione più intelligente delle dipendenze mancanti .

18
marcvangend

In realtà, drush5 (ancora in fase di sviluppo) ha una mappa di dipendenze note e comuni (content.module, ctools, ...). Quindi effettivamente scarica i ctools per te nel tuo esempio.

9
moshe weitzman

questo non è più un problema poiché le ultime versioni di drush lo fanno "automagicamente":

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

Alcuni moduli o progetti includono uno script drush make, che può scaricare dipendenze e installare librerie esterne.

Tuttavia, questo non è per lo più il caso, e ci sono problemi con l'annidamento degli script drush make. Vale ancora la pena cercare con alcuni dei moduli che sono più complicati da configurare.

2
Jeremy French

Prova il modulo Quick update . Scaricherà per te tutti i progetti di dipendenza mancanti.

Ecco una citazione al riguardo (dalla pagina del progetto del modulo):

... fornisce un modo rapido per installare in batch più nuovi progetti o tutti i progetti di dipendenza mancanti.

Drupal core offre un modo per installare il modulo o il tema uno per uno, ma è possibile installare più progetti tramite il modulo di aggiornamento rapido. C'è un'interfaccia utente di amministrazione per cercare più facilmente i progetti più installati.

Il modulo di aggiornamento rapido aggiuntivo trova tutti i progetti di dipendenza mancanti per te, quindi puoi semplicemente selezionarli tutti dall'interfaccia utente dell'amministratore e installarli in un processo batch.

Il modulo di aggiornamento rapido dipende dal modulo di aggiornamento e utilizza lo stesso flusso di lavoro del modulo di aggiornamento. Pertanto, è possibile eseguire gli aggiornamenti tramite la pagina di aggiornamento dell'amministratore in/admin/reports/updates/update.

2
Jay Chen