Problem med plugin-program för Composer vid uppgradering till Adobe Commerce 2.4.4

Den här artikeln innehåller en lösning för att undvika problem med plugin-program för disposition när du uppgraderar från Adobe Commerce 2.4.3 och tidigare till Adobe Commerce 2.4.4 eller senare (när framtida versioner släpps).

Beskrivning description

Miljö

  • Adobe Commerce lokalt, alla versioner när de uppdateras till 2.4.4 eller senare (när de släpps)
  • Adobe Commerce i molninfrastruktur, alla versioner när de uppdateras till 2.4.4 eller senare (när de släpps)
  • Magento Open Source, alla versioner vid uppdatering till 2.4.4 eller senare (när de släpps)

Problem/symtom

När du uppdaterar till Adobe Commerce 2.4.4 eller senare efter juli 2022 kan du få en varning från dispositionen om plugin-program.

Steg som ska återskapas

Krav: Adobe Commerce 2.4.3 eller tidigare är installerat.

  1. Starta uppgraderingen enligt beskrivningen i Utför en uppgradering.
  2. Kör Composer-uppdateringskommandot för att uppgradera Adobe Commerce-programmet.

Förväntade resultat

Uppgraderingen är klar.

Faktiska resultat

Installationen misslyckas med ett fel som liknar följande:

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

Orsak

Efter juli 2022 ändrar Composer standardvärdet för alternativet allow-plugins till {} och plugin-program läses inte in längre om det inte tillåts.

Upplösning resolution

  1. Lägg till följande i din composer.jsonfil, beroende på hur du har installerat Adobe Commerce:

    • Om projektet har skapats med composer create-project-kommandot:

      code language-none
      "config": {
          "allow-plugins": {
              "dealerdirect/phpcodesniffer-composer-installer": true,
              "laminas/laminas-dependency-plugin": true,
              "magento/*": true
          }
      }
      
      • Om projektet har skapats på ett annat sätt och inte har dealerdirect/phpcodesniffer-installer" in "require-dev-avsnitt:
      code language-none
      "config": {
          "allow-plugins": {
              "laminas/laminas-dependency-plugin": true,
              "magento/*": true
          }
      }
      
  2. När du har uppdaterat filen composer.json kör du kommandot composer update och startar om uppgraderingsprocessen.

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