Problèmes de plug-in du compositeur lors de la mise à niveau vers Adobe Commerce 2.4.4

Cet article fournit une solution pour éviter des problèmes avec les modules externes de compositeur lors de la mise à niveau d’Adobe Commerce 2.4.3 et versions antérieures vers Adobe Commerce 2.4.4 ou version ultérieure (lorsque des versions ultérieures seront publiées).

Description description

Environnement

  • Adobe Commerce on-premise, toute version lors de la mise à jour vers la version 2.4.4 ou ultérieure (lorsqu’elle est publiée)
  • Adobe Commerce sur les infrastructures cloud, toute version lors de la mise à jour vers la version 2.4.4 ou ultérieure (lorsqu’elle est publiée)
  • Magento Open Source, toute version lors de la mise à jour vers la version 2.4.4 ou ultérieure (lorsqu’elle est publiée)

Problème/Symptômes

Lors de la mise à jour vers Adobe Commerce 2.4.4 ou une version ultérieure après juillet 2022, vous pouvez recevoir un avertissement du compositeur à propos des modules externes.

Procédure à suivre

Conditions préalables requises Adobe Commerce version 2.4.3 ou antérieure est installé.

  1. Démarrez la mise à niveau comme décrit dans la section Effectuer une mise à niveau.
  2. Exécutez la commande de mise à jour du compositeur pour mettre à niveau l’application Adobe Commerce.

Résultats attendus

La mise à niveau a réussi.

Résultats réels

L’installation échoue avec une erreur similaire à celle-ci :

Writing lock file
Installing dependencies from lock file (including require-dev)
Package operations: 591 installs, 0 updates, 0 removals
  - Installing laminas/laminas-dependency-plugin (2.2.0): Extracting archive
laminas/laminas-dependency-plugin contains a Composer plugin which is currently not in your allow-plugins config. See https://getcomposer.org/allow-plugins
Do you trust "laminas/laminas-dependency-plugin" to execute code and wish to enable it now? (writes "allow-plugins" to composer.json) [ y,n,d,?]  y
Plugin initialization failed (require(app/etc/NonComposerComponentRegistration.php): failed to open stream: No such file or directory), uninstalling plugin
  - Removing laminas/laminas-dependency-plugin (2.2.0)
    Install of laminas/laminas-dependency-plugin failed
[ ErrorException]
  require(app/etc/NonComposerComponentRegistration.php): failed to open stream: No such file or directory

Cause

Après juillet 2022, le compositeur modifie la valeur par défaut de l’option allow-plugins en {}, et les modules externes ne se chargent plus, sauf s’ils sont autorisés.

Résolution resolution

  1. Ajoutez les éléments suivants à votre fichier composer.json, selon la manière dont vous avez installé Adobe Commerce :

    • Si le projet a été créé à l’aide de la commande composer create-project :

      code language-none
      "config": {
          "allow-plugins": {
              "dealerdirect/phpcodesniffer-composer-installer": true,
              "laminas/laminas-dependency-plugin": true,
              "magento/*": true
          }
      }
      
      • Si le projet a été créé d’une autre manière et ne comporte pas dealerdirect/phpcodesniffer-installer" in "require-dev section :
      code language-none
      "config": {
          "allow-plugins": {
              "laminas/laminas-dependency-plugin": true,
              "magento/*": true
          }
      }
      
  2. Après avoir mis à jour le fichier composer.json, exécutez la commande composer update et redémarrez le processus de mise à niveau.

recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f