web-dev-qa-db-ja.com

composer経由でパッケージをインストールする方法?

drupal 7カスタムモジュールにライブラリを追加したい。ライブラリはcomposer経由でインストールできるが、インストールのためのソリューションが見つからない?このライブラリをインストールするにはどうすればよい?インストール済み「コンポーザーマネージャー」ですが、実行できません。

8
gregab

はじめに、composer.jsonファイルをモジュールに追加します。ここで必要なのは、外部ライブラリを含むrequireセクションだけです。

Composer managerは、すべての依存関係を組み合わせる1つの方法ですが、他のオプションを使用してDrupalでautoload.phpファイルをロードできます。私が好む手法は、プロジェクトを作成することです-= composer.jsonファイルをDrupalルートに追加し、モジュール composer_vendor を使用してautoload.phpファイルをインクルードします。

開始する最も簡単な方法は、 composer_generate Drush拡張機能を使用してプロジェクトレベルのcomposer.jsonファイルをビルドすることです。

$ drush dl composer_generate $ cd /path/to/drupalroot $ drush composer-generate > composer.json $ composer install

Composer-generateは、Drupalサイトで現在使用されているすべてのプロジェクトとcomposer_vendorを追加するため、composer installが適切に機能するはずです。ここでの主な魔法は、追加されたカスタムオートローダーにありますテンプレートに含まれています;出力を見て、何が含まれていたかを確認してください。

もちろん、ここでは注意が必要です。デフォルトのテンプレートはすべてのモジュールをsites/all/modules/contribに配置します。 composer installを実行する前に、テンプレートが必要でない場合は、テンプレートを編集できます。

変更されたモジュールがある場合にも注意する必要があります。ハッキングされたコンテンツに対処する方法はいくつかありますが、これはこの1つの質問の範囲を少し超えています。

更新

Drushを実行したくない場合は、プロジェクト https://github.com/drupal-composer/drupal-project を使用して、独自のcomposer.jsonファイルを手動で入力することもできます。これは、composer-generateが基づくテンプレートです。

6
greg_1_anderson