ComposerでDrupalコアを更新する.

Learn DrupalDrupal-woordenlijst

この記事は、次のようなComposerプロジェクトでDrupalをインストールしたことを前提としています。 drupal/core-recommendedまたはdrupal/dxpr-marketing-cms-project

利用可能なDrupalの更新を一覧表示する

composer outdated "drupal/*"

Composerが更新を認識しているかは、drupal/coreで始まる行があるかでわかります。そのような行がなければ更新はなく、ある場合は以下のコマンドに進みます

Drupalサイトのバックアップを作成する

本番サイトを更新する際は、開発環境やテスト環境で更新を正常に試せた場合でも、更新前に必ずバックアップを作成してください。ホスティングプロバイダーのツールを使ってDrupalサイトのバックアップやスナップショットを作成します。

Drupalコアコードを更新する

使用している場合 drupal/core-recommended:

composer update "drupal/core-*" --with-all-dependencies

実際に何も変更せずに更新をシミュレーションして、何が起こるかを表示するには、次を追加します。--dry-run.

コアの最新パッチバージョンに更新する

サイトを最新のマイナーバージョンではなく最新のパッチバージョンに更新したい場合は、--with=オプションを各drupal/core-*依存関係(composer.jsonに記載)に付けます。

たとえば、10.2が現在のマイナーバージョンで、サイトを10.3の最新パッチバージョンに更新したい場合です。

composer update "drupal/core-*" --with-all-dependencies --with=drupal/core-recommended:~10.3.0 --with=drupal/core-composer-scaffold:~10.3.0

この例では、drupal/core-recommendedとdrupal/core-composer-scaffold のみがcomposer.json内のDrupalコア依存関係であることを前提としています。

コアの特定バージョンに更新する

一般に、特定のバージョンに固定したい場合を除き、更新時にDrupalコアの特定バージョンを指定しないことを推奨します。サイトを特定のバージョンに固定したい場合は、次の例を使えます。

サイトをバージョン10.3.6に固定し、すべての依存関係をそれに合わせて更新するには、次のコマンドを実行します。

composer require drupal/core-recommended:10.3.6 drupal/core-composer-scaffold:10.3.6 drupal/core-project-message:10.3.6 --update-with-all-dependencies

警告: サイトを特定のコアバージョンに固定すると、そのバージョンがロックファイルに追加され、以後の更新はこのバージョンを超えません。固定を解除したコアに戻すには、下記のrequireコマンドを再実行してください。

特定バージョンの固定を解除する

固定されたバージョンのDrupalコアを使っていて、サイトを別のバージョンに更新したい場合は、2つの選択肢があります。

  1. 上記のcomposer requireコマンドを実行して、新しい固定バージョンのコアを指定できます。
  2. コアバージョンの固定を解除して、最新のDrupalに更新できます。

Drupalのバージョンの固定を解除するには、次のコマンドを実行します。

composer require drupal/core-recommended drupal/core-composer-scaffold drupal/core-project-message --update-with-all-dependencies

データベース更新を実行する

更新を完了するために必要なDrushコマンドを掲載しています。Webベースの管理画面よりもDrushが速く簡単だと感じる人が多くいます。

drushを使う方法は次のとおりです。

drush updatedb
drush cache:rebuild

またはブラウザーで [YOUR DOMAIN]/update.php を開きます。