ComposerでDrupalコアを更新する.
この記事は、次のような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つの選択肢があります。
- 上記のcomposer requireコマンドを実行して、新しい固定バージョンのコアを指定できます。
- コアバージョンの固定を解除して、最新の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 を開きます。