How to update Magento2 using composer

Edit the composer.json file on root folder and change the version of magento in line 5:

"version": "2.0.1",

and under "require"

"require": {
"magento/product-community-edition": "2.0.1",

Now run:

composer update

Then run:

php bin/magento setup:upgrade

And finally re-deploy the static files, which for me is this command:

php bin/magento setup:static-content:deploy de_DE en_US

That worked for me.


Updating/Upgrading to Magento 2.0.5 (via composer)

php bin/magento maintenance:enable
composer require magento/product-community-edition 2.0.5 --no-update
composer update
rm -rf var/di var/generation
php bin/magento cache:flush
php bin/magento setup:upgrade
php bin/magento setup:di:compile
php bin/magento indexer:reindex
php bin/magento maintenance:disable

After upgrade, check your Magento version with the following command:

php bin/magento --version

Upgrading to Magento 2.3.x

The above commands work fine while upgrading Magento to 2.2.x.

To upgrade to Magento 2.3.x, you need to follow some more steps.

Here's the step-by-step guide to upgrade Magento to 2.3.x:

Enable maintenance mode

php bin/magento maintenance:enable

Specify Magento packages

composer require magento/product-community-edition=2.3.0 --no-update

Specify additional packages

composer require --dev phpunit/phpunit:~6.2.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.2.2 --no-update

Remove unused packages

composer remove --dev sjparkinson/static-review fabpot/php-cs-fixer --no-update

Update autoload

Open composer.json and edit the "autoload": "psr-4" section to include "Zend\\Mvc\\Controller\\": "setup/src/Zend/Mvc/Controller/":

"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/"
    },
    ...
}

Apply updates

composer update

Clean the Magento cache

php bin/magento cache:clean

Manually clear caches and generated content

Clear the var and generated subdirectories:

rm -rf <Magento install dir>/var/cache/*
rm -rf <Magento install dir>/var/page_cache/*
rm -rf <Magento install dir>/generated/code/*

If you use a cache storage other than the filesystem, such as Redis or Memcached, you must manually clear the cache there too.

Update the database schema and data

php bin/magento setup:upgrade

Disable maintenance mode

php bin/magento maintenance:disable

Finally, check your Magento version

php bin/magento --version

Read more: https://devdocs.magento.com/guides/v2.3/comp-mgr/cli/cli-upgrade.html


When upgrading through composer, you can choose the version of which you need to upgrade via a composer upgrade. For example:

composer require magento/product-community-edition 2.1.2 --no-update

The same command can be run if using Enterprise. For example:

composer require magento/product-enterprise-edition 2.0.6 --no-update

After running the relevant command, run

composer update

When composer has finished, upgrade your database by running the command:

php bin/magento setup:upgrade 

As ever, make a backup of your database and use a versioning tool such as git to protect yourself from the upgrade not going to plan.