23

The docs here say that you should use the system upgrade utility: http://devdocs.magento.com/guides/v2.0/comp-mgr/upgrader/upgrade-start.html and do it from the admin.

I thought that you would be able to update it by changing the composer.json file to "version": "2.0.2", and then just run composer update.

Would this be another way to update or system upgrade utility is the only way of doing it?

46

Updating/Upgrading to Magento 2.0.2 (via composer)

php bin/magento maintenance:enable
composer require magento/product-community-edition 2.0.2 --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

19

The recommended way in the documentation is via admin:

System > Web Setup Wizard > System Upgrade.

(http://devdocs.magento.com/guides/v2.0/comp-mgr/upgrader/upgrade-start.html)

You must have crons enabled or it will not work. Make sure in configuration you have your keys inserted. If it freezes with no output in the logs you can check the php logs to see if it timed out and then increase the memory_limit in .htaccess to 2G.

The second way is with composer:

In composer.json change this line

"magento/product-community-edition": "2.0.0",

Also you should change the line 5 as well "version": "2.0.0", to keep it in sync.

to whatever version you want, and then run:

composer update
php bin/magento setup:upgrade
php bin/magento setup:static-content:deploy
  • 3
    Probably doesn't matter but are you supposed to change the version in line 5 as well? "version": "2.0.0" – Alex Mar 31 '16 at 9:33
  • Does upgrading from older to newer version affects Data Loss? We have to take backup before Upgrading? – Ankit Shah Sep 15 '16 at 6:39
15

Just upgraded successfully to Magento 2.2.6 through composer:

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

Change the version accordingly e.g. 2.2.6

composer update
rm -rf var/di var/generation/* var/view_preprocessed/* var/cache/* var/page_cache

*// The issue following commands one by one

chown -R user:group .
chmod u+x bin/magento
php bin/magento cache:flush
php bin/magento setup:upgrade
ph bin/magento setup:di:compile
php bin/magento setup:static-content:deploy
php bin/magento indexer:reindex

If getting permissions error, issue:

chown -R user:group .

command again where user and group correspond to your server user and user group.

  • awesome just searched for that because setup wizard failed to upgrade with no reason. this works for me! – fubbe Oct 13 '16 at 13:39
3

You can upgrade Magento 2 version via admin panel or from terminal area Upgrade :

Admin Area Upgrade

Navigate to System > Web Setup Wizard > System Upgrade

Terminal Area Upgrade

Before you start please apply the MDVA-532 patch, open your terminal and enter this:

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

Next enter the following line to update the database schema and data.

php bin/magento setup:upgrade

Reference source which I followed to upgrade magento 2 version on my site (with screenshot and step by step) http://magentoexplorer.com/how-to-upgrade-magento-2-version-via-backend-or-terminal

1

Changing version and running composer update is for those who have access to command line, and have experience in using command lines(developers and SIs). The upgrade via admin is mainly for those who may have limited technical abilities or no access to command line via their hosting provider.

1

With version 2.0.2, fix is to upgrade the Magento installer first and then to force the upgrade of the core.

composer require magento/magento-composer-installer

composer require magento/product-community-edition '2.0.*' --no-update

composer update

And when you're done upgrading all PHP packages, make sure to run all Magento update scripts so that the database is up-to-date as well:

./bin/magento setup:upgrade
1

Just in case composer and Web Wizard ways fail there is a third approach:

  1. Download the latest Magento 2 of the official website.
  2. Unzip it into your main Magento directory.
  3. Run: php bin/magento setup:upgrade and php bin/magento deploy:mode:set production.

Take from this source.

1

Go to the root directory of your store and run these commands:

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

You can change the version

composer update

rm -rf var/di/* var/generation/* var/cache/* var/log/* var/page_cache/*
php bin/magento cache:clean
php bin/magento cache:flush
php bin/magento setup:upgrade
php bin/magento setup:di:compile
php bin/magento indexer:reindex
0

One can upgrade magento 2 using the two basic methods, one is from admin panel and other is using composer

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.