2

I'm getting some error messages from composer, when I try to upgrade from Magento 2.4.2 to Magento 2.4.3, and these are:

- Root composer.json requires magento/product-community-edition 2.4.3 -> satisfiable by magento/product-community-edition[2.4.3].
- allure-framework/allure-codeception[1.4.3, ..., 1.4.4] require allure-framework/allure-php-api ~1.1.8 -> satisfiable by allure-framework/allure-php-api[1.1.8].
- allure-framework/allure-codeception 1.4.2 requires allure-framework/allure-php-api ~1.1.7 -> satisfiable by allure-framework/allure-php-api[1.1.7, 1.1.8].
- allure-framework/allure-php-api[1.1.6, ..., 1.1.8] require ramsey/uuid ^3.0 -> satisfiable by ramsey/uuid[3.0.0, ..., 3.9.4].
- allure-framework/allure-php-api 1.1.5 requires ramsey/uuid ^3.0.0 -> satisfiable by ramsey/uuid[3.0.0, ..., 3.9.4].
- Only one of these can be installed: rhumsaa/uuid[2.7.0, ..., 2.8.2], ramsey/uuid[3.0.0, ..., 3.9.4, 4.0.0, ..., 4.2.1]. ramsey/uuid replaces rhumsaa/uuid and thus cannot coexist with it.
- magento/product-community-edition 2.4.3 requires ramsey/uuid ~4.1.0 -> satisfiable by ramsey/uuid[4.1.0, 4.1.1].
- Conclusion: don't install ramsey/uuid[4.1.1] | install one of magento/magento2-functional-testing-framework[3.6.0, 3.6.1] (conflict analysis result)
- Conclusion: don't install magento/magento2-functional-testing-framework 3.6.0 (conflict analysis result)
- Conclusion: don't install magento/magento2-functional-testing-framework 3.6.1 (conflict analysis result)
- Root composer.json requires magento/magento2-functional-testing-framework ^3.0 -> satisfiable by magento/magento2-functional-testing-framework[3.0.0, ..., 3.6.1].
- Root composer.json requires allure-framework/allure-phpunit ~1.2.0 -> satisfiable by allure-framework/allure-phpunit[1.2.0, ..., 1.2.4].
- You can only install one version of a package, so only one of these can be installed: allure-framework/allure-php-api[1.1.0, ..., 1.3.1].
- allure-framework/allure-codeception 1.4.5 requires allure-framework/allure-php-api ~1.2.1 -> satisfiable by allure-framework/allure-php-api[1.2.1].
- Conclusion: install one of magento/magento2-functional-testing-framework[3.6.0, 3.6.1], allure-framework/allure-codeception[1.4.2, 1.4.3, 1.4.4, 1.4.5] (conflict analysis result)
- Conclusion: don't install allure-framework/allure-php-api[1.2.1] | install one of allure-framework/allure-php-api[1.1.0, ..., 1.1.8] (conflict analysis result)

To my knowledge, I haven't changed anything. Last upgrade went fine (from 2.4.2 to 2.4.2-p1). This is my composer.json file content:

"require": {
    "fooman/pdfcustomiser-m2": "^8.0",
    "magento/composer-root-update-plugin": "~1.0",
    "magento/product-community-edition": "2.4.3"
},
"require-dev": {
    "allure-framework/allure-phpunit": "~1.2.0",
    "dealerdirect/phpcodesniffer-composer-installer": "^0.7.0",
    "friendsofphp/php-cs-fixer": "~2.16.0",
    "lusitanian/oauth": "~0.8.10",
    "magento/magento-coding-standard": "*",
    "magento/magento2-functional-testing-framework": "^3.0",
    "pdepend/pdepend": "~2.7.1",
    "phpcompatibility/php-compatibility": "^9.3",
    "phpmd/phpmd": "^2.8.0",
    "phpstan/phpstan": ">=0.12.3 <=0.12.23",
    "phpunit/phpunit": "^9",
    "sebastian/phpcpd": "~5.0.0",
    "squizlabs/php_codesniffer": "~3.5.4"
},

I have no idea how to continue. Thank you,

2
  • 1
    You can check this link regarding this: community.magento.com/t5/Magento-2-x-Technical-Issues/…
    – Amit Saini
    Commented Aug 30, 2021 at 12:13
  • 1
    Added an answer. Let me know if you want any details summarized further. This should get you where you want, we do upgrades all the time at my job. Key piece of information to take-away is keeping dependencies in composer.json up-do-date with latest from upgrades, even the require-dev deps.
    – sdaugherty
    Commented Aug 31, 2021 at 19:30

3 Answers 3

10
+50

Magento 2.4.3 composer.json

Taking a look at the 2.4.3 codebase, it looks like the composer.json has newer require-dev dependencies than what you have posted.

Typically when doing upgrades, among other things, you want to compare dependencies in the old/new composer.json files. It would be worth matching up your composer.json with the updated require-dev dependencies listed below.

Mutiple Commands:

composer require --dev allure-framework/allure-phpunit:~1.4
composer require --dev friendsofphp/php-cs-fixer:~2.18.1
composer require --dev phpstan/phpstan:^0.12.77
composer require --dev sebastian/phpcpd:^6.0.3
composer require --dev symfony/finder:^5.2

Single Command:

This is in case composer fails to update packages one at a time.

composer require --dev allure-framework/allure-phpunit:~1.4 friendsofphp/php-cs-fixer:~2.18.1 phpstan/phpstan:^0.12.77 sebastian/phpcpd:^6.0.3 symfony/finder:^5.2

Manual Update:

This is in case composer fails to update packages one at a time or all at once with the single command.

  1. Manually edit composer.json, updating the versions of mentioned require-dev packages.
  2. Save composer.json
  3. Run composer update (you may see other packages get updated)

Magento 2.4.3 - composer.json

    "require-dev": {
        "allure-framework/allure-phpunit": "~1.4",
        "dealerdirect/phpcodesniffer-composer-installer": "^0.7.0",
        "friendsofphp/php-cs-fixer": "~2.18.1",
        "lusitanian/oauth": "~0.8.10",
        "magento/magento-coding-standard": "*",
        "magento/magento2-functional-testing-framework": "^3.0",
        "pdepend/pdepend": "~2.7.1",
        "phpcompatibility/php-compatibility": "^9.3",
        "phpmd/phpmd": "^2.8.0",
        "phpstan/phpstan": "^0.12.77",
        "phpunit/phpunit": "^9",
        "sebastian/phpcpd": "^6.0.3",
        "squizlabs/php_codesniffer": "~3.5.4",
        "symfony/finder": "^5.2"
    },

Allure Git Repository Renamed

Recently, Allure had renamed their git repo causing failures when composer tries to download the allure-framework/allure-php-api package. There is an open ticket on Magento about it:

Magento2 github issues - Changed repository name of one of the composer.lock included packages

The way we fixed was to update the package to get the new repo url:

composer clear-cache
composer update allure-framework/allure-php-api

That should kick off the following change to composer.lock:

composer.lock change

1

Magento 2.4.3 requires composer 2. If you use root update plugin, it won't work since it supports only composer 1.

0

If you are using latest version of composer than you may reverse to old version 1.x of composer than it may work if you are facing above mentioned error only

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.