Drupal9へのアップグレード ②
- CMS
前回はDrupalCoreのバージョンアップについて説明しました。
今回は拡張モジュール/テーマやカスタムモジュール/テーマのDrupal9対応について説明します。
本作業はDrupalCoreのバージョンアップ前に実施する必要があります。
- Drupal9へのアップグレード ①
- Drupal9へのアップグレード ②
作業の流れは以下になります。
- 拡張モジュール/テーマがDrupla9に対応しているか確認し、対応したバージョンがあればアップデートする。
- カスタムモジュール/テーマをDrupal9に対応させる。
まず、導入しているモジュール/テーマがDrupal9に対応しているか確認します。
導入しているバージョンがDrupla9に未対応であっても、Drupal9に対応したバージョンがあればアップデートします。
Drupal9の対応状況を確認するツールとして「Upgrade Status」というモジュールを使用します。
モジュールをインストールし有効化すると、「レポート > Upgrade status」を参照できます。
サンプルとしてローカルに作成したDruplaサイトの「Upgrade Status」ページ(一部抜粋)をのせます。
詳細は「Upgrade Status」(https://www.drupal.org/project/upgrade_status)のページを参照してください。
※尚、環境によってページ内容の情報は異なります。

簡単な確認手順を説明します。
いくつかの表がありますが、いずれも同じ情報(項目)が表示されています。
Drupal9の対応情報は「LOCAL 9-READY」を確認します。「Compatible」と表示されているモジュールは既にDrupal9対応のバージョンが使用されています。
「Incompatible」と表示されているモジュールをすべて「Compatible」にすると、Drupal9へのアップグレードが可能になります。
作業を行う際、「PLAN」「DRUPAL.ORG VERSION」「DRUPAL.ORG 9-READY」の情報を確認します。
「DRUPAL.ORG 9-READY」に「Compatible」と表示されているモジュールは、Drupal9に対応したモジュールが用意されていますので、該当のバージョンに更新することでDrupal9対応が行えます。
この際、「PLAN」に表示されている内容を参考にするとよいでしょう。
「DRUPAL.ORG VERSION」が「Not applicable」と表示されているモジュールはDrupal9に対応されていません。
この場合は「Issues」リンクをクリックしてみましょう。該当モジュールに関するissues一覧のページに遷移します。
一覧の中にDrupal9対応の情報の記載があれば、パッチ適用等によりDrupal9に対応させることができます。
※今回の例では以下を実施しました。
Configuration split | 最新はバージョン2だがbeta版。バージョン1.5以上がDrupal9に対応しているので、1.5以上に更新。 composer require drupal/config_split:^1.5 |
---|---|
CSV importer | バージョン1.11に更新。 composer require drupal/csv_importer:^1 |
Honeypot | 最新のバージョン2に更新。 composer require drupal/honeypot:^2 |
対応バージョンやパッチがない場合、または、カスタムモジュール/テーマの場合は以下を実施します。
該当モジュールの左にチェックボックスにチェックを付け、画面下部の【Scan selected】ボタンをクリックします。
対応が必要な場合、「LOCAL SCAN RESULT」にリンクが表示されます。
リンクをクリックすると、ダイアログにて修正箇所が表示されます。

対象ファイルと行番号、修正内容が表示されますので、内容を確認し、ソースを修正します。
※尚、同様のチェックは「Drupal Check」(https://github.com/mglaman/drupal-check/wiki/Drupal-9-Readiness)でも行えます。
※今回の例では以下を実施しました。
Sample Themeの修正箇所
page.inc |
使用メソッドを変更。 修正前:$node = \Drupal::entityManager()->getStorage('node')->load($node_id); |
---|---|
テーマ.info.yml |
バージョン情報を追記 修正後:core_version_requirement: ^8 || ^9 ※追記 |
対応が完了したら、再度、該当モジュールの左にチェックボックスにチェックを付け、画面下部の【Scan selected】ボタンをクリックします。

Drupal9対応が完了したモジュールは「LOCAL 9-READY」が「Compatible」と表示されます。
これで、Drupal Coreをアップデートすることが可能となります。
使用している拡張モジュールによって画面表示等も変わってきますので、今回の内容をひとつの参考にして頂ければと思います。