Magento 2: Оновлення встановлення "Meta Package"


11

Якось назад я встановив Magento 2 через мета-пакет композитора . Це також відоме як встановлення інтегратора.

Схоже, встановлено 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, встановлену мета-пакетом? Або це не мета мета-пакетів?


alankent.me/2016/03/31/… може мати корисну інформацію. Я вірю, що NonComposerComponentRegistration.php буде оновлено під час оновлення завдяки плагіну для встановлення magento для Composer. Якщо є новий модуль 'magento2-base', він замінить файли, попередньо встановлені базовим модулем. Стаття рекомендує "використовувати git" для збереження місцевих змін. Ви можете штрафувати файл за замовчуванням github.com/magento/magento2/blob/develop/app/etc/… , який отримує пакет у пакет "magento2-base".
Алан Кент

"Я вірю, що NonComposerComponentRegistration.php буде оновлено", це негативно - або, принаймні, в моєму конкретному випадку, переходячи з 2.0.1 до 2.0.3, оновлення композитора не встановило NonComposerComponentRegistration.php і не оновило додаток /etc/di.xml.
Алан Шторм

Ви можете оновити метапакет за допомогою оновлення системи або з командного рядка. Caveat в цей момент ми замінюємо 2.0.3 на 2.0.4 і доступ до repo.magento.comнього заблокований. Чекайте оголошення. Крок 1, запустіть composer require <string> <version> --noupdate(перевірте синтаксис). Крок 2, запустіть composer update. Крок 3, запустітьbin/magento setup:upgrade
Стів Джонсон

@SteveJohnson Як буде оновлено файли за межами vendor?
Алан Шторм

Відповіді:


3

Я просто налаштував свій composer.jsonфайл на використання 2.0.4 замість 2.0.2 (вручну), а потім побіг composer updateі php bin/magento setup:upgrade. Тут працювали бездоганно.

Я вважаю, що програма встановлення Magento Composer обробляє встановлення файлів у app/папках тощо, що також оновлює інформацію про оновлення. Але ця остання частина - лише припущення, тому що мені не довелося її налагоджувати.


@alanstorm, чи допомагає будь-яка з цих відповідей?
Стів Джонсон

@stefandoorn, будь ласка, відкрийте файл app/etc/NonComposerComponentRegistration.phpта підтвердьте рік авторських прав
Kristof в Fooman

/ ** * Copyright © 2016 Magento. Всі права захищені. * Докладні відомості про ліцензію див. У розділі COPYING.txt. * /
stefandoorn

@KristofatFooman Дивіться вище.
stefandoorn

2

Наразі не можу перевірити це, оскільки композиторський сховище з'єднань зламано, але, сподіваюся, це все-таки корисно.

Це 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.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.