ComposerでDrupal 10を拡張する.

Learn DrupalAan de slag
最近では、コントリビュートDrupalモジュールがサードパーティライブラリに依存するのはごく一般的です。これらのモジュールの一部はComposerでしかインストールできません。すでにComposerでDrupalコアを取得している場合や、モジュールがComposerを要求する場合は、すべてのモジュールとテーマのダウンロードにComposerを使う必要があります。Composerによる更新と他の方法を混在させると、厄介な更新トラブルに巻き込まれる可能性があります。
 

Composerでコントリビュートモジュールとテーマを取得する

ComposerでコントリビュートDrupalモジュールやテーマをダウンロードしたいですか。方法は次のとおりです。

  • 次のように入力します。composer require drupal/module_name
  • たとえば次のようにします。composer require drupal/token
  • Drupalインストールのルートにいることを確認してください

Composerはcomposer.jsonを更新し、次のように他の要件の一覧にモジュールを追加します。

{
    "require": {
        "drupal/token": "^1.5"
    }
} 

Composerはモジュールとその依存関係をダウンロードします。

Drupalモジュールを有効化するには、次の2つの方法があります。

モジュールをrequireする際は、プロジェクト名でもプロジェクト内の特定のモジュール名でも使えます。

  • Composerは特定のモジュールを含むプロジェクト全体をダウンロードします。
  • たとえば、fe_blockモジュールが必要な場合で、それがfeatures_extraプロジェクトに含まれているときは、次のどちらかを選べます。
    • composer require drupal/features_extra
    • composer require drupal/fe_block
 

バージョンの選択

ダウンロードするモジュールやテーマのバージョンを指定したい場合は、次のようにします。

composer require 'drupal/module_name:version'

(実際のComposerバージョンまたはバージョン制約をversionの代わりに指定してください。)

たとえば次のとおりです。

composer require 'drupal/dxpr_builder:^1.1' 
composer require 'drupal/dxpr_builder:~1.1' 
composer require 'drupal/dxpr_builder:2.2.2-alpha2' 
composer require 'drupal/dxpr_builder:2.2.x-dev' 

異なるターミナルやシェルでの問題を避けるため、上記の例と同様にバージョンを引用符で囲みます。


注意! Windowsでは、(シングル)クォートを使うとバージョン指定が正しく解釈されず、次のようなエラーでインストールに失敗する場合があります。Could not parse version constraint .....': Invalid version string "....'"。

引用符なしの場合は、たとえば次のとおりです。

composer require drupal/dxpr_builder:^2.2

または、次のようにシングルクォートの代わりにダブルクォートを使います。

composer require "drupal/dxpr_builder:^2.2"

これで問題なく動作するはずです。詳しくはコメント「Composer problems: "could not parse version constraint"」を参照してください。


上記の例では、バージョンは次のように対応します。

  • ^1.1: モジュールの最新の安定版10.x-1.xリリースに対応します。
  • ~1.1: モジュールの最新の安定版10.x-3.xリリースに対応します。
  • 2.2.2-alpha2: バージョン2.2.2-alpha2に対応します
  • 2.2.x-dev: 2.2.x-devに対応します

~(チルダ)や^(キャレット)を使ったバージョン制約について詳しくは、Next Significant Release Operatorsを参照してください。

ダウンロードするコントリビュートモジュールのバージョンの指定をお勧めします。


Composer検索の使い方

朗報です。Drupal.orgのComposerエンドポイントはComposer search機能をサポートしています。つまり、コマンドラインから直接Drupalプロジェクトを検索できます。Composer検索を使うには、次のように入力します。

composer search views
 

Composer browseの使い方

Drupal 7から10向けのDrupal.org ComposerエンドポイントはComposer browse機能もサポートしています。コマンドラインから直接Drupalプロジェクトの追加情報を確認できます。Composer browseを使うには、次のように入力します。

composer browse drupal/token