Некоторое время назад я установил Magento 2 через метапакет composer . Это также называется установкой интегратора.
Похоже, что установили Magento CE 2.0.1. Есть ли способ обновить эту версию до последней версии Magento CE 2.0.3? Я понимаю, что я мог бы обновить, composer.json
чтобы 2.0.1 здесь
"require": {
"magento/product-community-edition": "2.0.1",
становится
"require": {
"magento/product-community-edition": "2.0.3",
Тем не менее, это будет пропустить файлы, такие как
app/etc/NonComposerComponentRegistration.php
Как и любые обновления самого файла composer.json.
Можно ли обновить версию Magento 2, установленную с метапакетом? Или это не цель метапакетов?
repo.magento.com
заблокирован. Ждите объявления. Шаг 1, запуститеcomposer require <string> <version> --noupdate
(проверьте синтаксис). Шаг 2, бегиcomposer update
. Шаг 3, бегиbin/magento setup:upgrade
vendor
?Ответы:
Я просто настроил свой
composer.json
файл, чтобы использовать 2.0.4 вместо 2.0.2 (вручную), а затем запустилcomposer update
иphp bin/magento setup:upgrade
. Работал здесь без нареканий.Я полагаю, что установочный пакет Magento Composer выполняет установку файлов в
app/
папки etc и обновляет их при обновлении. Но эта последняя часть является лишь предположением, поскольку мне не пришлось ее отлаживать.источник
app/etc/NonComposerComponentRegistration.php
и подтвердить год авторского праваВ настоящее время я не могу его протестировать, так как хранилище компоновщика соединения не работает, но я надеюсь, что оно все еще полезно.
Это мой
composer.json
собственный проект https://github.com/Cotya/DashboardProject/blob/6ce3f307c53a3fb54c94d8a7bd70b306036da928/composer.jsonНедавно я изменился, чтобы
"magento/product-community-edition": "^2.0"
иметь возможность обновляться с помощью простойcomposer update --with-dependencies magento/product-community-edition
команды. Я всегда в явном виде называю то, что должно быть обновлено, чтобы не смешивать его с другими необходимыми мне пакетами, кроме magento, но поэтому мне нужен--with-dependencies
аргумент.Очень важной частью этого рабочего процесса является фиксация
composer.lock
файла после каждого (успешно протестированного) обновления. Как вы видите, различие файла блокировки слишком велико для GitHub, это результат всех обновлений зависимостей и причины, по которой вам не следует смешивать обновление magento с обновлением чего-то другого.Как видите, я определил файлы для
NonComposerComponentRegistration
себя, вы можете иметь их несколько. Недостатком моего подхода является то, что когда происходят изменения в проектеcomposer.json
, их необходимо применять вручную.Когда вы спрашивали об обновлении
NonComposerComponentRegistration
файла, все еще есть «несколько» файлов, которые копируются из поставщика в целевой каталог, поэтому я назвал его явно,build
чтобы не смешивать собственные с генерируемыми / копируемыми материалами.Надеюсь, это поможет, даже если это довольно уникальная установка M2.
источник