web-dev-qa-db-ja.com

Drupal推奨プロジェクトにDrushがありません

drupal-projectからrecommended-projectへの変換を検討しており、フォルダー構造にいくつかの違いがあることを確認しています。

drupal-projectには「web」フォルダの外にdrushフォルダが含まれ、「composer.json」には「drush/drush」行が含まれています:「^ 9.0.0」。

ただし、recommended-projectを使用してDrushをインストールすることはできますが、composer require drush/drushにはこの設定がありません。それでも、drushは「web」フォルダーの外にインストールされません。

セットアップが変更された理由と、「Web」の外にDrushフォルダーを作成する方法を教えてください。

2
user2574948

Drupalコアプロジェクトテンプレートとdrupal-composerプロジェクトテンプレートの違いを理解することが重要です。

  • 推奨およびレガシープロジェクトテンプレートは、Drupalコアによって維持されます。その結果、コアのメンテナによって検証され、非常に安定していてほとんどのDrupalユーザー。このバーは非常に高く、コンポーネントの複雑さが決定に影響します。たとえば、Drushは非常に安定していて、ほとんどのDrupalユーザーが使用していますが、かなり大規模で複雑なプロジェクトであるため、コアプロジェクトテンプレートに追加されていません。「web」ディレクトリ内にWebルートが必要な場合は、推奨プロジェクトを使用します。プロジェクトルート。

  • Drupal-composer/drupal-projectテンプレートはコミュニティによって管理されています。幅広いユーザーに役立つと思われるコンポーネントが多く含まれています。このプロジェクトでバグまたは構成の問題が見つかった場合は、GitHubのコミュニティリポジトリを通じて報告および修正する必要があります。

drupal-composer/drupal-project の最新バージョンは、 drupal/recommended-project Composerテンプレートが提供されている)と同じコアスキャフォールドコンポーネントを使用しますDrupalコア。サイトのdrupal-composer/drupal/projectテンプレートから始めるのが安全です。

Drushをサイトに追加する場合、drupal-composer/drupal-projectから開始するか、drupal/recommended-projectに手動で追加すると、Drushバイナリは常にベンダーディレクトリ内にインストールされます。これは、レガシープロジェクトのWebルートの内側、または推奨プロジェクトのWebルートの外側、およびdrupal-composer/drupal-projectの外側になります。

Recommendedプロジェクトから始めてDrushを追加する場合は、drupal-composer/drupal-projectのcomposer.jsonも調べて、「追加」セクションにコピーしたい構成があるかどうかを確認する必要があります。あなたのサイトのために。

4
greg_1_anderson