0

i want to update my Magento to v2.3.2, when i run composer update, i get this error:

Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - Installation request for magento/product-community-edition 2.3.2 -> satisfiable by magento/product-community-edition[2.3.2].
    - Installation request for phpro/grumphp ^0.12.1 -> satisfiable by phpro/grumphp[v0.12.1].
    - magento/product-community-edition 2.3.2 requires symfony/console ~4.1.0 -> satisfiable by symfony/console[v4.1.0, v4.1.0-BETA1, v4.1.0-BETA2, v4.1.0-BETA3, v4.1.1, v4.1.10, v4.1.11, v4.1.12, v4.1.2, v4.1.3, v4.1.4, v4.1.5, v4.1.6, v4.1.7, v4.1.8, v4.1.9].
    - Can only install one of: symfony/console[v4.1.0, v2.8.38].
    - Can only install one of: symfony/console[v4.1.0-BETA1, v2.8.38].
    - Can only install one of: symfony/console[v4.1.0-BETA2, v2.8.38].
    - Can only install one of: symfony/console[v4.1.0-BETA3, v2.8.38].
    - Can only install one of: symfony/console[v4.1.1, v2.8.38].
    - Can only install one of: symfony/console[v4.1.10, v2.8.38].
    - Can only install one of: symfony/console[v4.1.11, v2.8.38].
    - Can only install one of: symfony/console[v4.1.12, v2.8.38].
    - Can only install one of: symfony/console[v4.1.2, v2.8.38].
    - Can only install one of: symfony/console[v4.1.3, v2.8.38].
    - Can only install one of: symfony/console[v4.1.4, v2.8.38].
    - Can only install one of: symfony/console[v4.1.5, v2.8.38].
    - Can only install one of: symfony/console[v4.1.6, v2.8.38].
    - Can only install one of: symfony/console[v4.1.7, v2.8.38].
    - Can only install one of: symfony/console[v4.1.8, v2.8.38].
    - Can only install one of: symfony/console[v4.1.9, v2.8.38].
    - Conclusion: install symfony/console v2.8.38

Here is my composer.json:

{
    "name": "magento/project-community-edition",
    "description": "eCommerce Platform for Growth (Community Edition)",
    "type": "project",
    "version": "2.3.2",
    "license": [
        "OSL-3.0",
        "AFL-3.0"
    ],
    "require": {
        "composer/composer": "@alpha",
        "ebizmarts/mailchimp-lib": "^3.0",
        "magento/product-community-edition": "2.3.2",
        "phpro/grumphp": "^0.12.1"
    },
    "require-dev": {
        "friendsofphp/php-cs-fixer": "~2.10.1",
        "lusitanian/oauth": "~0.8.10",
        "pdepend/pdepend": "2.5.2",
        "phpmd/phpmd": "@stable",
        "phpunit/phpunit": "~6.2.0",
        "sebastian/phpcpd": "~3.0.0",
        "squizlabs/php_codesniffer": "3.2.2"
    },
    "config": {
        "use-include-path": true,
        "preferred-install": "dist",
        "sort-packages": true
    },
    "autoload": {
        "psr-4": {
            "Magento\\Framework\\": "lib/internal/Magento/Framework/",
            "Magento\\Setup\\": "setup/src/Magento/Setup/",
            "Magento\\": "app/code/Magento/",
            "Zend\\Mvc\\Controller\\": "setup/src/Zend/Mvc/Controller/"
        },
        "psr-0": {
            "": "app/code/"
        },
        "files": [
            "app/etc/NonComposerComponentRegistration.php"
        ]
    },
    "autoload-dev": {
        "psr-4": {
            "Magento\\Sniffs\\": "dev/tests/static/framework/Magento/Sniffs/",
            "Magento\\Tools\\": "dev/tools/Magento/Tools/",
            "Magento\\Tools\\Sanity\\": "dev/build/publication/sanity/Magento/Tools/Sanity/",
            "Magento\\TestFramework\\Inspection\\": "dev/tests/static/framework/Magento/TestFramework/Inspection/",
            "Magento\\TestFramework\\Utility\\": "dev/tests/static/framework/Magento/TestFramework/Utility/"
        }
    },
    "minimum-stability": "alpha",
    "prefer-stable": true,
    "repositories": [
        {
            "type": "composer",
            "url": "https://repo.magento.com/"
        }
    ],
    "extra": {
        "magento-force": "override"
    }
}
0

Backup your composer.json to easily revert your upgrade in case the upgrade fails and you want to revert your upgrade.

$ cp composer.json composer.json.bak

Enable maintenance mode, so that your update will not be able to be interrupted.

$ bin/magento maintenance:enable

First, you need to remove unused packages from your composer.json (--no-update is required here, as you are not going to install it yet, just to tell composer that you want to add and/or remove these packages to composer.json).

$ composer remove --dev sjparkinson/static-review fabpot/php-cs-fixer --no-update
$ composer remove composer/composer magento/product-community-edition --no-update

Add the version 2.3.2 of magento-product-community-edition package to your composer.json (--no-update is required here):

$ composer require magento/product-community-edition=2.3.2 --no-update

Add additional packages required by Magento 2.3.2 (still, --no-update is required here):

$ composer require --dev allure-framework/allure-phpunit:~1.2.0 friendsofphp/php-cs-fixer:~2.13.0 lusitanian/oauth:~0.8.10 magento/magento-coding-standard:~1.0.0 magento/magento2-functional-testing-framework:~2.3.14 pdepend/pdepend:2.5.2 phpunit/phpunit:~6.5.0 sebastian/phpcpd:~3.0.0 squizlabs/php_codesniffer:3.3.1 phpunit/phpunit:~6.5.0 friendsofphp/php-cs-fixer:~2.10.1 lusitanian/oauth:~0.8.10 pdepend/pdepend:2.5.2 sebastian/phpcpd:~3.0.0 squizlabs/php_codesniffer:3.3.1 --sort-packages --no-update

Modify your composer.json's autoload section to look like this:

....
"autoload": {
    "psr-4": {
        "Magento\\Framework\\": "lib/internal/Magento/Framework/",
        "Magento\\Setup\\": "setup/src/Magento/Setup/",
        "Magento\\": "app/code/Magento/",
        "Zend\\Mvc\\Controller\\": "setup/src/Zend/Mvc/Controller/"
    },
    "psr-0": {
        "": [
            "app/code/",
            "generated/code/"
        ]
    },
},
....

If you have the Magento updater <root_project>/update (basically this updater is included), you also have to update it. These command will backup your old updater and install the updated one.

$ composer create-project --repository=https://repo.magento.com magento/project-community-edition=2.3.2 update.tmp --no-install
$ mv update update.bak
$ mv update.tmp/update update
$ rm -rf update.tmp

Finally, install the update.

$ composer update

Clear caches and generated content.

$ rm -rf var/cache/* var/page_cache/* generated/code/*

Update the database schema and data.

$ bin/magento setup:upgrade

Disable maintenance mode.

$ bin/magento maintenance:disable

Restart varnish (if you use one).

$ sudo service varnish restart

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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