Problemen met Composer-plug-ins bij de upgrade naar Adobe Commerce 2.4.4

Dit artikel biedt een oplossing om problemen met composer-plug-ins te voorkomen wanneer u een upgrade uitvoert van Adobe Commerce 2.4.3 en eerder naar Adobe Commerce 2.4.4 of hoger (wanneer toekomstige versies worden uitgebracht).

Beschrijving description

Omgeving

  • Adobe Commerce op locatie, elke versie bij het bijwerken naar 2.4.4 of hoger (indien vrijgegeven)
  • Adobe Commerce op cloudinfrastructuur, elke versie bij het bijwerken naar versie 2.4.4 of hoger (indien vrijgegeven)
  • Magento Open Source, elke versie bij het bijwerken naar versie 2.4.4 of hoger (na publicatie)

Probleem/symptomen

Wanneer u na juli 2022 een update naar Adobe Commerce 2.4.4 of hoger uitvoert, wordt mogelijk een waarschuwing van de componist over plug-ins weergegeven.

Stappen om te reproduceren

Eerste vereisten: Adobe Commerce 2.4.3 of vroeger is geïnstalleerd.

  1. Begin de verbetering zoals die in ​ wordt beschreven een verbetering ​ uitvoeren.
  2. Voer de opdracht voor het bijwerken van de composer uit om de Adobe Commerce-toepassing bij te werken.

Verwachte resultaten

Upgrade is voltooid.

Werkelijke resultaten

Installatie mislukt met een fout die lijkt op het volgende:

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

Oorzaak

Na juli 2022 wijzigt Composer de standaardwaarde van de optie allow-plugins in {} en de plug-ins worden alleen geladen als dit is toegestaan.

Resolutie resolution

  1. Voeg het volgende aan uw composer.json dossier, afhankelijk van toe hoe u Adobe Commerce installeerde:

    • Als het project ​ gebruikend het composer create-project bevel ​ is gecreeerd:

      code language-none
      "config": {
          "allow-plugins": {
              "dealerdirect/phpcodesniffer-composer-installer": true,
              "laminas/laminas-dependency-plugin": true,
              "magento/*": true
          }
      }
      
      • Als het project op een andere manier is gemaakt en geen dealerdirect/phpcodesniffer-installer" in "require-dev -sectie heeft:
      code language-none
      "config": {
          "allow-plugins": {
              "laminas/laminas-dependency-plugin": true,
              "magento/*": true
          }
      }
      
  2. Nadat u het composer.json -bestand hebt bijgewerkt, voert u de opdracht composer update uit en start u het upgradeproces opnieuw.

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