Realización de una actualización

Puede actualizar implementaciones locales de la aplicación Adobe Commerce desde la línea de comandos si instaló el software mediante:

  • Descargando el metapaquete Composer mediante el comando composer create-project.
  • Instalación del archivo comprimido.
NOTE

Las siguientes instrucciones muestran cómo realizar la actualización mediante el Administrador de paquetes del Compositor. Adobe Commerce 2.4.2 ha introducido la compatibilidad con Composer 2. Si intenta actualizar desde <2.4.1, primero debe actualizar a una versión compatible con Composer 2 (por ejemplo, 2.4.2) mediante Composer 1 antes de actualizar a Composer 2 para actualizaciones >2.4.2. Además, debe ejecutar una versión compatible de PHP.

WARNING
El procedimiento para actualizar Adobe Commerce ha cambiado. Debe instalar una nueva versión del paquete magento/composer-root-update-plugin (consulte requisitos previos). Además, los comandos para la actualización han cambiado de composer require magento/<package_name> a composer require-commerce magento/<package_name>.

Antes de empezar

Debe completar los requisitos previos de actualización para preparar su entorno antes de iniciar el proceso de actualización.

Administración de paquetes

NOTE
Consulte los ejemplos que aparecen al final de esta sección para obtener ayuda sobre cómo especificar diferentes niveles de versión. Por ejemplo, parches de calidad y parches de seguridad. Si no encuentra estos paquetes en Composer, póngase en contacto con el Soporte técnico de Adobe Commerce.
  1. Cambie al modo de mantenimiento para evitar el acceso a su tienda durante el proceso de actualización.

    code language-bash
    bin/magento maintenance:enable
    

    Consulte Habilitar o deshabilitar el modo de mantenimiento para ver opciones adicionales. Opcionalmente, puede crear una página de modo de mantenimiento personalizado.

  2. Iniciar el proceso de actualización mientras se ejecutan procesos asincrónicos, como los consumidores de cola de mensajes, puede dañar los datos. Para evitar que se dañen los datos, deshabilite todos los trabajos cron.

    Adobe Commerce en la infraestructura en la nube:

    code language-bash
    ./vendor/bin/ece-tools cron:disable
    

    Magento Open Source:

    code language-bash
    bin/magento cron:remove
    
  3. Iniciar todos los consumidores de colas de mensajes manualmente para asegurarse de que se consumen todos los mensajes.

    code language-bash
    bin/magento cron:run --group=consumers
    

    Espere a que se complete el trabajo cron. Puede supervisar el estado del trabajo con un visor de procesos o ejecutando el comando ps aux | grep 'bin/magento queue' varias veces hasta que se completen todos los procesos.

  4. Cree una copia de seguridad del archivo composer.json.

    code language-bash
    cp composer.json composer.json.bak
    
  5. Añada o elimine paquetes específicos según sus necesidades.

    Por ejemplo, si está actualizando de Magento Open Source a Adobe Commerce, elimine el paquete de Magento Open Source.

    code language-bash
    composer remove magento/product-community-edition --no-update
    

    También puede actualizar los datos de ejemplo.

    code language-bash
    composer require <sample data module-1>:<version> ... <sample data module-n>:<version> --no-update
    
    • Adobe Commerce:

      code language-bash
      composer require magento/module-bundle-sample-data:100.4.* magento/module-widget-sample-data:100.4.* magento/module-theme-sample-data:100.4.* magento/module-catalog-sample-data:100.4.* magento/module-customer-sample-data:100.4.* magento/module-cms-sample-data:100.4.*  magento/module-catalog-rule-sample-data:100.4.* magento/module-sales-rule-sample-data:100.4.* magento/module-review-sample-data:100.4.* magento/module-tax-sample-data:100.4.* magento/module-sales-sample-data:100.4.* magento/module-grouped-product-sample-data:100.4.* magento/module-downloadable-sample-data:100.4.* magento/module-msrp-sample-data:100.4.* magento/module-configurable-sample-data:100.4.* magento/module-product-links-sample-data:100.4.* magento/module-wishlist-sample-data:100.4.* magento/module-swatches-sample-data:100.4.* magento/sample-data-media:100.4.* magento/module-offline-shipping-sample-data:100.4.* magento/module-gift-card-sample-data:100.4.* magento/module-customer-balance-sample-data:100.4.* magento/module-target-rule-sample-data:100.4.* magento/module-gift-registry-sample-data:100.4.* magento/module-multiple-wishlist-sample-data:100.4.* --no-update
      
    • Magento Open Source:

      code language-bash
      composer require magento/module-bundle-sample-data:100.4.* magento/module-widget-sample-data:100.4.* magento/module-theme-sample-data:100.4.* magento/module-catalog-sample-data:100.4.* magento/module-customer-sample-data:100.4.* magento/module-cms-sample-data:100.4.*  magento/module-catalog-rule-sample-data:100.4.* magento/module-sales-rule-sample-data:100.4.* magento/module-review-sample-data:100.4.* magento/module-tax-sample-data:100.4.* magento/module-sales-sample-data:100.4.* magento/module-grouped-product-sample-data:100.4.* magento/module-downloadable-sample-data:100.4.* magento/module-msrp-sample-data:100.4.* magento/module-configurable-sample-data:100.4.* magento/module-product-links-sample-data:100.4.* magento/module-wishlist-sample-data:100.4.* magento/module-swatches-sample-data:100.4.* magento/sample-data-media:100.4.* magento/module-offline-shipping-sample-data:100.4.* --no-update
      
  6. Actualice la instancia con la siguiente sintaxis de comando composer require-commerce:

    code language-bash
    composer require-commerce magento/<product> <version> --no-update [--interactive-root-conflicts] [--force-root-updates] [--help]
    

    Las opciones de comando incluyen:

    • <product> —(Obligatorio) El paquete para actualizar. Para instalaciones locales, este valor debe ser product-community-edition o product-enterprise-edition.

    • <version> —(Obligatorio) La versión de Adobe Commerce a la que está actualizando. Por ejemplo, 2.4.3.

    • --no-update —(Obligatorio) Deshabilita la actualización automática de las dependencias.

    • --interactive-root-conflicts —(Opcional) Permite ver y actualizar de forma interactiva cualquier valor obsoleto de versiones anteriores o cualquier valor personalizado que no coincida con la versión a la que está actualizando.

    • --force-root-updates —(Opcional) Anula todos los valores personalizados en conflicto con los valores de Commerce esperados.

    • --help —(Opcional) Proporciona detalles de uso sobre el complemento.

    Si no se especifica ni --interactive-root-conflicts ni --force-root-updates, el comando mantiene los valores existentes en conflicto y muestra un mensaje de advertencia. Para obtener más información sobre el complemento, consulte el LÉAME de uso del complemento.

  7. Actualice las dependencias.

    code language-bash
    composer update
    

Ejemplo: Enumerar versiones disponibles

Para ver la lista completa de versiones de 2.4.x disponibles:

Magento Open Source:

composer show magento/product-community-edition 2.4.* --available | grep -m 1 versions

Adobe Commerce:

composer show magento/product-enterprise-edition 2.4.* --available | grep -m 1 versions

Ejemplo: parche de calidad

Los parches de calidad contienen principalmente y correcciones de seguridad funcionales. Sin embargo, a veces pueden contener nuevas funciones compatibles con versiones anteriores. Use Composer para descargar un parche de calidad.

Adobe Commerce:

composer require-commerce magento/product-enterprise-edition 2.4.6 --no-update

Magento Open Source:

composer require-commerce magento/product-community-edition 2.4.6 --no-update

Ejemplo: parche de seguridad

Los parches de seguridad solo contienen correcciones de seguridad. Están diseñadas para que el proceso de actualización sea más rápido y sencillo. Los parches de seguridad utilizan la convención de nombres del Compositor 2.4.x-px.

Adobe Commerce:

composer require-commerce magento/product-enterprise-edition 2.4.6-p3 --no-update

Magento Open Source:

composer require-commerce magento/product-community-edition 2.4.6-p3 --no-update

Actualización de metadatos

  1. Actualice los campos "name", "version" y "description" en el archivo composer.json según sea necesario.

    note note
    NOTE
    La actualización de los metadatos del archivo composer.json es totalmente superficial, no funcional.
  2. Aplicar actualizaciones.

    code language-bash
    composer update
    
  3. Borrar los subdirectorios var/ y generated/:

    code language-bash
    rm -rf var/cache/*
    
    code language-bash
    rm -rf var/page_cache/*
    
    code language-bash
    rm -rf generated/code/*
    
    note note
    NOTE
    Si utiliza un almacenamiento en caché que no sea el sistema de archivos, como Redis o Memcached, también deberá borrar manualmente la caché allí.
  4. Actualizar el esquema y los datos de la base de datos.

    code language-bash
    bin/magento setup:upgrade
    
  5. Desactive el modo de mantenimiento.

    code language-bash
    bin/magento maintenance:disable
    
  6. (Opcional) Reiniciar el barniz.

    Si utiliza Barnish para el almacenamiento en caché de páginas, reinícielo:

    code language-bash
    service varnish restart
    

Compruebe su trabajo

Para comprobar si la actualización se ha realizado correctamente, abra la dirección URL de la tienda en un explorador web. Si la actualización no se ha realizado correctamente, la tienda no se cargará correctamente.

Si la aplicación falla con un error We're sorry, an error has occurred while generating this email.:

  1. Restablecer la propiedad y los permisos del sistema de archivos como usuario con privilegios de root.

  2. Borre los siguientes directorios:

    • var/cache/
    • var/page_cache/
    • generated/code/
  3. Vuelva a comprobar la tienda en el explorador web.

recommendation-more-help
83a60e0e-8849-4685-a8cd-c129ecd795ea