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).

Berörda produkter och versioner

  • 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

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 kommandot composer update 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-pluginstill {} och plugin-program läses inte in längre om det inte tillåts.

Lösning

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

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

    code language-json
    "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" i avsnittet "require-dev":

    code language-json
    "config": {
        "allow-plugins": {
            "laminas/laminas-dependency-plugin": true,
            "magento/*": true
        }
    }
    

När du har uppdaterat filen composer.json kör du kommandot composer update och startar om uppgraderingsprocessen.

recommendation-more-help
8bd06ef0-b3d5-4137-b74e-d7b00485808a