Drushに特定のモジュールに必要なすべての依存関係をダウンロードさせる方法はありますか?


20

たとえば、次のコマンドを実行する場合:

drush dl views
drush en views views_ui views_export

ビューモジュールを有効にしようとすると、次のエラーが表示されます。

モジュールビューは、見つかりませんでした次のモジュールに依存しているため、有効にできません:ctools

必要なモジュールの依存関係をダウンロードするために急いで取得する方法はありますか?


本当にDrupalは作曲家を統合するだけです。その場合、依存関係管理はうまく処理されます。
デビッド

Drush withの新しいバージョンはdrush en -y、依存関係を自動的にダウンロードして有効にします。
-tyler.frankenstein

回答:


18

Drush 5以降:

Drushの新しいバージョン(バージョン5以降)drush enでは、モジュールを有効()にしたときに必要な依存関係をダウンロードするかどうかを尋ねられます。また、モジュールをまだダウンロードしていない場合、モジュール自体をダウンロードするかどうかを尋ねます。「-y」オプション(例drush en views -y)と組み合わせると、すべてがダウンロードされ、さらに質問することなく自動的に有効になります。

必要なモジュールの名前がdrupal.orgのプロジェクト名と異なる場合、依存関係の自動ダウンロードが失敗する可能性があることに注意してください。詳細については、以下のDrush 4の最初の回答を参照してください。

元の回答(Drush 4):

いいえ、それを行う方法はありません。問題は、モジュールとプロジェクトに違いがあることです。多くの場合(常にではありません)、プロジェクトの名前はプロジェクトに含まれるモジュール(またはモジュールの1つ)と同じです。1つのプロジェクト(ビューなど)に複数のモジュール(views、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 makeスクリプトのネストに問題があります。セットアップがより複雑ないくつかのモジュールで、まだ注目に値します。


1
「Drush build」ではなく「Drush make」(drupal.org/project/drush_make)を意味すると思います。しかし、あなたの言うとおり、drush makeファイルにはビルドに必要なプロジェクトがリストされているため、依存関係をダウンロードできます。
-marcvangend

2

クイックアップデートモジュールをお試しください。不足しているすべての依存関係プロジェクトがダウンロードされます。

モジュールのプロジェクトページからの引用です:

...は、複数の新しいプロジェクトまたは不足しているすべての依存プロジェクトを一括インストールする簡単な方法を提供します。

Drupalコアは、モジュールまたはテーマを1つずつインストールする方法を提供しますが、クイックアップデートモジュールを介して複数のプロジェクトをインストールできます。最もインストールされているプロジェクトを簡単に検索するための管理UIがあります。

さらに、クイック更新モジュールは不足しているすべての依存関係プロジェクトを検出します。管理UIからそれらをすべて選択し、バッチプロセスでインストールできます。

クイック更新モジュールは、更新モジュールに依存し、更新モジュールと同じワークフローを使用します。したがって、/ admin / reports / updates / updateの管理者更新ページから更新を実行できます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.