アップグレードの実行

次の方法でインストールした場合は、コマンドラインからAdobe Commerce アプリケーションの オンプレミス デプロイメントをアップグレードできます。

  • composer create-project コマンドを使用して Composer メタパッケージをダウンロードします。
  • 圧縮されたアーカイブをインストールしています。
NOTE

以下の手順は、Composer パッケージ マネージャを使用してアップグレードする方法を示しています。 Adobe Commerce 2.4.2 では、Composer 2 のサポートが導入されました。 <2.4.1 からアップグレードする場合は、まず Composer 1 を使用して Composer 2 と互換性のあるバージョン(たとえば 2.4.2)にアップグレードする必要があります 前に 2.4.2 を超えるアップグレードについては Composer 2 にアップグレードします)。 また、PHP の サポート対象バージョンを実行する必要があります。

WARNING
Adobe Commerceのアップグレード手順が変更されました。 magento/composer-root-update-plugin パッケージの新しいバージョンをインストールする必要があります( 前提条件を参照)。 また、アップグレード用のコマンドが composer require magento/<package_name> から composer require-commerce magento/<package_name> に変更されました。

始める前に

アップグレードプロセスを開始する前に、 アップグレードの前提条件を満たして、環境を準備する必要があります。

パッケージの管理

NOTE
様々なリリースレベルの指定に関するヘルプについては、このセクションの最後にある例を参照してください。 例えば、品質向上パッチやセキュリティパッチなどです。 Composer でこれらのパッケージが見つからない場合は、Adobe Commerce サポートにお問い合わせください。
  1. メンテナンスモードに切り替えて、アップグレードプロセス中にストアにアクセスできないようにします。

    code language-bash
    bin/magento maintenance:enable
    

    その他のオプションについては、 メンテナンスモードの有効化または無効化を参照してください。 オプションで、 カスタムメンテナンスモードページを作成できます。

  2. メッセージキューコンシューマーなどの非同期プロセスの実行中にアップグレードプロセスを開始すると、データが破損する可能性があります。 データの破損を防ぐには、すべての cron ジョブを無効にします。

    クラウドインフラストラクチャー上のAdobe Commerce:

    code language-bash
    ./vendor/bin/ece-tools cron:disable
    

    Magento Open Source:

    code language-bash
    bin/magento cron:remove
    
  3. すべてのメッセージキューコンシューマーを手動で開始して、すべてのメッセージが消費されるようにします。

    code language-bash
    bin/magento cron:run --group=consumers
    

    cron ジョブが完了するのを待ちます。 ジョブのステータスは、プロセスビューアで監視することも、すべてのプロセスが完了するまで ps aux | grep 'bin/magento queue' コマンドを複数回実行して監視することもできます。

  4. composer.json ファイルのバックアップを作成します。

    code language-bash
    cp composer.json composer.json.bak
    
  5. 必要に応じて、特定のパッケージを追加または削除します。

    例えば、Magento Open SourceからAdobe Commerceにアップグレードする場合は、Magento Open Sourceパッケージを削除します。

    code language-bash
    composer remove magento/product-community-edition --no-update
    

    サンプルデータをアップグレードすることもできます。

    code language-bash
    composer require <sample data module-1>:<version> ... <sample data module-n>:<version> --no-update
    
    • Adobe Commerce:

      code language-bash
      composer require magento/module-bundle-sample-data:100.4.* magento/module-widget-sample-data:100.4.* magento/module-theme-sample-data:100.4.* magento/module-catalog-sample-data:100.4.* magento/module-customer-sample-data:100.4.* magento/module-cms-sample-data:100.4.*  magento/module-catalog-rule-sample-data:100.4.* magento/module-sales-rule-sample-data:100.4.* magento/module-review-sample-data:100.4.* magento/module-tax-sample-data:100.4.* magento/module-sales-sample-data:100.4.* magento/module-grouped-product-sample-data:100.4.* magento/module-downloadable-sample-data:100.4.* magento/module-msrp-sample-data:100.4.* magento/module-configurable-sample-data:100.4.* magento/module-product-links-sample-data:100.4.* magento/module-wishlist-sample-data:100.4.* magento/module-swatches-sample-data:100.4.* magento/sample-data-media:100.4.* magento/module-offline-shipping-sample-data:100.4.* magento/module-gift-card-sample-data:100.4.* magento/module-customer-balance-sample-data:100.4.* magento/module-target-rule-sample-data:100.4.* magento/module-gift-registry-sample-data:100.4.* magento/module-multiple-wishlist-sample-data:100.4.* --no-update
      
    • Magento Open Source:

      code language-bash
      composer require magento/module-bundle-sample-data:100.4.* magento/module-widget-sample-data:100.4.* magento/module-theme-sample-data:100.4.* magento/module-catalog-sample-data:100.4.* magento/module-customer-sample-data:100.4.* magento/module-cms-sample-data:100.4.*  magento/module-catalog-rule-sample-data:100.4.* magento/module-sales-rule-sample-data:100.4.* magento/module-review-sample-data:100.4.* magento/module-tax-sample-data:100.4.* magento/module-sales-sample-data:100.4.* magento/module-grouped-product-sample-data:100.4.* magento/module-downloadable-sample-data:100.4.* magento/module-msrp-sample-data:100.4.* magento/module-configurable-sample-data:100.4.* magento/module-product-links-sample-data:100.4.* magento/module-wishlist-sample-data:100.4.* magento/module-swatches-sample-data:100.4.* magento/sample-data-media:100.4.* magento/module-offline-shipping-sample-data:100.4.* --no-update
      
  6. 次の composer require-commerce コマンド構文を使用してインスタンスをアップグレードします。

    code language-bash
    composer require-commerce magento/<product> <version> --no-update [--interactive-root-conflicts] [--force-root-updates] [--help]
    

    次のようなコマンドオプションがあります。

    • <product> – (必須)アップグレードするパッケージ。 オンプレミスのインストールの場合、この値は product-community-edition または product-enterprise-edition である必要があります。

    • <version> – (必須)アップグレード先のAdobe Commerceのバージョン。 例:2.4.3

    • --no-update – (必須)依存関係の自動更新を無効にします。

    • --interactive-root-conflicts – (オプション)以前のバージョンの古い値や、アップグレード先のバージョンと一致しないカスタマイズされた値を、インタラクティブに表示および更新できます。

    • --force-root-updates – (任意)競合するカスタム値をすべて、期待されるCommerce値で上書きします。

    • --help – (任意)プラグインの使用方法の詳細を提供します。

    --interactive-root-conflicts--force-root-updates も指定されていない場合、コマンドは競合する既存の値を保持し、警告メッセージを表示します。 このプラグインについて詳しくは、 プラグインの使用方法の README を参照してください。

  7. 依存関係を更新します。

    code language-bash
    composer update
    

例 – 使用可能なバージョンのリスト

使用可能な 2.4.x バージョンの完全なリストを表示するには:

Magento Open Source:

composer show magento/product-community-edition 2.4.* --available | grep -m 1 versions

Adobe Commerce:

composer show magento/product-enterprise-edition 2.4.* --available | grep -m 1 versions

例 – 品質パッチ

品質向上パッチには、主に機能 および セキュリティ修正が含まれています。 ただし、下位互換性のある新しい機能が含まれることもあります。 Composer を使用して品質パッチをダウンロードします。

Adobe Commerce:

composer require-commerce magento/product-enterprise-edition 2.4.6 --no-update

Magento Open Source:

composer require-commerce magento/product-community-edition 2.4.6 --no-update

例 – セキュリティパッチ

セキュリティパッチには、セキュリティ修正のみが含まれています。 これらは、アップグレードプロセスをより速く、より簡単にするように設計されています。 セキュリティパッチでは、Composer の命名規則 2.4.x-px を使用します。

Adobe Commerce:

composer require-commerce magento/product-enterprise-edition 2.4.6-p3 --no-update

Magento Open Source:

composer require-commerce magento/product-community-edition 2.4.6-p3 --no-update

メタデータを更新

  1. 必要に応じて、composer.json ファイルの "name""version""description" フィールドを更新します。

    note note
    NOTE
    composer.json ファイル内のメタデータの更新は、機能するのではなく、完全に表面的なものです。
  2. 更新を適用します。

    code language-bash
    composer update
    
  3. var/ サブディレクトリと generated/ サブディレクトリをクリアします。

    code language-bash
    rm -rf var/cache/*
    
    code language-bash
    rm -rf var/page_cache/*
    
    code language-bash
    rm -rf generated/code/*
    
    note note
    NOTE
    Redis や Memcached など、ファイルシステム以外のキャッシュストレージを使用する場合は、手動でキャッシュをクリアする必要があります。
  4. データベーススキーマとデータを更新します。

    code language-bash
    bin/magento setup:upgrade
    
  5. メンテナンスモードを無効にします。

    code language-bash
    bin/magento maintenance:disable
    
  6. (任意) ワニスを再起動します。

    ページのキャッシュに Varnish を使用する場合は、再起動します。

    code language-bash
    service varnish restart
    

作業内容を確認する

アップグレードが成功したかどうかを確認するには、web ブラウザーでストアフロント URL を開きます。 アップグレードに失敗した場合、ストアフロントが正しく読み込まれません。

アプリケーションが We're sorry, an error has occurred while generating this email. エラーで失敗した場合:

  1. ファイルシステムの所有権と権限root 権限を持つユーザーとしてリセットします。

  2. 次のディレクトリをクリアします。

    • var/cache/
    • var/page_cache/
    • generated/code/
  3. Web ブラウザーでストアフロントを再度確認します。

recommendation-more-help
83a60e0e-8849-4685-a8cd-c129ecd795ea