C贸mo aplicar parches a Magento2 Open Source con composer

Aplicando parches de forma autom谩tica y sencilla

Profile picture for user admin
Por Way2 Ecommerce
02 Feb 2021

Ya vimos hace tiempo c贸mo actualizar la versi贸n de Magento2 de forma sencilla utilizando composer, era algo tan sencillo como ejecutar algunos comandos de composer o cambiar la versi贸n en composer.json y hacer un composer update. Esto se puede hacer sin problema siempre y cuando nuestros m贸dulos sean compatibles con la nueva versi贸n a la que se va actualizar. Si los m贸dulos no son compatibles lo ideal es actualizar estos tambi茅n a una versi贸n compatible con la versi贸n de Magento2 a la que queremos subir. Al hacer 鈥渃omposer update鈥 se suelen resolver todas estas dependencias de versiones y deber铆a descargar las 煤ltimas versiones definidas o bien mostrar cu谩l es el problema para no poder hacerlo. La verdad es que composer es una herramienta fant谩stica.

Luego est谩n los m贸dulos instalados 鈥渁 pelo鈥 en app/code, estos habr铆a que descargarlos de forma manual y comprobar que todo funcione correctamente. Normalmente siempre que actualizamos m贸dulos de Magento, ya sean del core o no, ya sea por composer o no, hay que hacer las comprobaciones oportunas para ver que todo funcione correctamente en un entorno de desarrollo y una vez que est茅 todo bien subir los cambios a producci贸n. En ocasiones nos hemos encontrado que despu茅s de actualizar un m贸dulo, la nueva versi贸n no solo ten铆a cambios a nivel de UX, tambi茅n ten铆a nuevos bugs, por eso lo de hacer las comprobaciones oportunas.

Vamos a centrarnos ya en las acciones concretas que nos llevar谩n a aplicar un parche v铆a composer en Magento2, lo m谩s sencillo es tomar un caso pr谩ctico como ejemplo:

Parche disponible en Magento2

Paso 1. Instalar la herramienta

Primero necesitamos instalar alg煤n 鈥渁plicador鈥 de parches para composer, aqu铆 tenemos unos cuantos:

  1. https://github.com/Loxzibit/magento2-composer-patcher
  2. https://github.com/netresearch/composer-patches-plugin
  3. https://github.com/cweagans/composer-patches (mi favorito)

Vamos a instalar este 煤ltimo, que es muy sencillo. Para ello ejecutamos en la ra铆z de nuestro proyecto Magento2 lo siguiente:

composer require cweagans/composer-patches

Paso 2. Configurar la herramienta

Para que composer sepa qu茅 tiene que parchear necesitaremos incluirle en el apartado 鈥渆xtra鈥 (fichero /composer.json) los datos siguientes:

    "extra": {
        "magento-force": "override",
        "enable-patching": true,
        "composer-exit-on-patch-failure": true,
        "patches": {
            "magento/framework": {
                "Datetime format - Magento 2.3.5 - issue 26675": "patches/datetime_format_2_3_5.patch"
            }
        }
    }

Paso 3. Descargar el parche

Descargamos el parche y lo situaremos en la ruta definida en el json que hemos agregado a composer.json, en este caso la ruta ser铆a /patches/datetime_format_2_3_5.patch:

Paso 4. Instalar el parche

Para instalar el parche, una vez descargado y configurada la herramienta de parchear, ejecutaremos en la ra铆z de nuestro proyecto Magento2 lo siguiente:

composer install

Esto har谩 que se borre la versi贸n instalada de 鈥渕agento/framework鈥, se instale la 煤ltima versi贸n de 鈥渕agento/framework鈥 que corresponde a la versi贸n instalada de Magento2 y luego aplica el parche de forma autom谩tica:

Parche aplicado

隆No puede ser m谩s sencillo! Esperamos que si no ten铆as este conocimiento te haya servido y que disfrutes tus desarrollos tanto como nosotros.

Profile picture for user admin
Way2 Ecommerce

Expertos en Magento ecommerce. Definimos, desarrollamos, mantenemos y potenciamos tiendas online de la m谩s alta calidad para que tu ecommerce supere todas tus expectativas.

Etiquetas