Cómo aplicar parches a Magento2 Open Source con composer
========================================================

Aplicando parches de forma automática y sencilla
------------------------------------------------

 

 

    By Way2 Ecommerce  

 

   02 Feb 2021  · Actualizado: 13 Jul 2026 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 “composer 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 “a 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](https://way2ecommerce.com/magento-ecommerce), 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:

- En la versión Open Source de Magento 2.3.4 o 2.3.5 hay un bug conocido que hace que cuando visualizas una factura desde la administración no se muestre una fecha correcta debido a diferencias de formato según el idioma definido.  
     ![Bug en fecha factura Magento2](/sites/default/files/inline-images/bug.png)
- Este problema está documentado como “issue” en el repositorio de Magento2 de github: <https://github.com/magento/magento2/issues/26675>.
- El problema está resuelto en las últimas versiones de Magento2 y con un parche, el pull 26701: <https://patch-diff.githubusercontent.com/raw/magento/magento2/pull/26701.diff>.

![Parche disponible en Magento2](/sites/default/files/inline-images/patches.jpg)

Paso 1. Instalar la herramienta
-------------------------------

Primero necesitamos instalar algún “aplicador” 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:

```bash
composer require cweagans/composer-patches
```

Paso 2. Configurar la herramienta
---------------------------------

Para que composer sepa qué tiene que parchear necesitaremos incluirle en el apartado “extra” (*fichero /composer.json*) los datos siguientes:

```json
    "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*:

- Por ejemplo desde aquí: <https://github.com/magento/magento2/commit/5ebb43bb59b97f5315ae6421fe3c1b04c6affc70.patch>
- O desde aquí: <https://patch-diff.githubusercontent.com/raw/magento/magento2/pull/26701.diff>

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:

```bash
composer install
```

Esto hará que se borre la versión instalada de “magento/framework”, se instale la última versión de “magento/framework” que corresponde a la versión instalada de Magento2 y luego aplica el parche de forma automática:

![Parche aplicado](/sites/default/files/inline-images/parche-aplicado.png)

¡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.

 

 

   Way2 EcommerceExpertos 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

[Magento 2](/posts-magento2)

[Parches de seguridad](/posts-parches-seguridad)

[Actualización Magento](/posts-actualizacion-magento)

 

 

 

 Otras entradas
