Не удается обновить с 2.2.6 до 2.3 через композитор

9

У меня есть чистый Magento 2.2.6 с образцами данных, которые я установил с помощью composer.

Я пытаюсь обновить его до версии Magento 2.3, поэтому следую инструкциям, изложенным здесь командой Magento.

После запуска composer updateя получаю следующее:

Loading composer repositories with package information
Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - magento/module-wishlist-sample-data 100.2.0 requires magento/module-wishlist 101.0.* -> satisfiable by magento/module-wishlist[101.0.4, 101.0.0, 101.0.1, 101.0.2, 101.0.3, 101.0.5].
    - magento/module-wishlist-sample-data 100.2.0 requires magento/module-wishlist 101.0.* -> satisfiable by magento/module-wishlist[101.0.4, 101.0.0, 101.0.1, 101.0.2, 101.0.3, 101.0.5].
    - Can only install one of: magento/module-wishlist[101.1.0, 101.0.4].
    - Can only install one of: magento/module-wishlist[101.1.0, 101.0.0].
    - Can only install one of: magento/module-wishlist[101.1.0, 101.0.1].
    - Can only install one of: magento/module-wishlist[101.1.0, 101.0.2].
    - Can only install one of: magento/module-wishlist[101.1.0, 101.0.3].
    - Can only install one of: magento/module-wishlist[101.1.0, 101.0.4].
    - Can only install one of: magento/module-wishlist[101.1.0, 101.0.5].
    - magento/product-community-edition 2.3.0 requires magento/module-wishlist 101.1.0 -> satisfiable by magento/module-wishlist[101.1.0].
    - Installation request for magento/product-community-edition 2.3.0 -> satisfiable by magento/product-community-edition[2.3.0].
    - Installation request for magento/module-wishlist-sample-data 100.2.* -> satisfiable by magento/module-wishlist-sample-data[100.2.0].
Хаим
источник

Ответы:

8

Сначала убедитесь, что вы используете PHP 7.1 или 7.2

Обнови свой композитор

запустите эти командиры:

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

Укажите дополнительные пакеты для композитора. Запустите этот

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

Удалить неиспользованные пакеты

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

Обновить автозагрузку

Откройте composer.jsonи измените "autoload": "psr-4"раздел, чтобы включить "Zend\\Mvc\\Controller\\": "setup/src/Zend/Mvc/Controller/":

"Magento\\Framework\\": "lib/internal/Magento/Framework/",
"Magento\\Setup\\": "setup/src/Magento/Setup/",
"Magento\\": "app/code/Magento/",
"Zend\\Mvc\\Controller\\": "setup/src/Zend/Mvc/Controller/"

Применить обновления

composer update

Очистить кеши и сгенерированный контент

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

Обновите схему базы данных и данные

php bin/magento setup:upgrade

Отключить режим обслуживания

php bin/magento maintenance:disable

Очистите кеш, переиндексируйте, если вы получили трек ошибок сервера для развертывания статического контента.

и это все,

Вы можете проверить полное объяснение здесь

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

CDzWebDev
источник
Нет дополнительной стоимости. Вы просто скопировали вставленный из документов Magento
Хаим
Вы только что спасли мне жизнь, у вас возникли проблемы с зависимостью с консоли: symfony / dependency-инъекция v2.5.7 конфликтует с symfony / console [v4.1.0-BETA1]. Большое спасибо!
Чар
Самый полный ответ, который я видел в нескольких темах, идеально подходит для моей проблемы, спасибо!
Дэвид
Хорошо объяснил ответ. Спасибо за хороший пост @CDzWebDev.
Мохит Кумар Арора
1

Проблема заключалась в данных примера - если у вас установлены образцы данных, то сначала запустите php bin/magento sampledata:remove

Спасибо Алану Шторму!

Хаим
источник
1

Вы также можете попробовать выполнить действия, описанные в документации Magento на странице, специально предназначенной для обновления из командной строки с примерами данных .

Питер Догонь
источник
Я так не пробовал - потому что сначала удалил пример данных, но спасибо, что все же указал на это!
Хаим
1

После обновления Magento до версии 2.3.0 у вас все еще есть возможность установить образцы данных.

Итак, процесс обновления выглядит так:

php bin/magento sampledata:remove
composer require magento/product-community-edition=2.3.0 --no-update
composer update
php bin/magento sampledata:deploy
php bin/magento setup:upgrade
Юрий Журавлов
источник