¿Cómo actualizar mis aplicaciones Symfony mientras usa flex?

Encontré un componente Symfony que me gustaría utilizar en mi proyecto pero sólo está disponible desde la versión 5.2 y todos mis elementos Symfony están actualmente en la versión 5.1.10.

Leí los siguientes enlaces:

Pero no encontré cómo actualizar todos mis actuales 5.1.10 elementos de versión a 5.2.

Traté de reemplazar manualmente todas las ocurrencias de '5.1.*' en mi composer.json con '5.2.*' y luego corre composer update pero no funcionó y lanzó el siguiente error:

    Your requirements could not be resolved to an installable set of packages.
Problem 1
    - The requested package symfony/symfony 5.2.* exists as symfony/symfony[5.1.x-dev, v5.1.0, v5.1.0-BETA1, v5.1.0-RC1, v5.1.0-RC2, v5.1.1, v5.1.10, v5.1.2, v5.1.3, v5.1.4, v5.1.5, v5.1.6, v5.1.7, v5.1.8, v5.1.9] but these are rejected by your constraint.
  Problem 2
    - symfony/framework-bundle v5.2.1 requires symfony/cache ^5.2 -> no matching package found.
    - symfony/framework-bundle v5.2.0 requires symfony/cache ^5.2 -> no matching package found.
    - Installation request for symfony/framework-bundle 5.2.* -> satisfiable by symfony/framework-bundle[v5.2.0, v5.2.1].

Pregunta hecha hace 3 años, 4 meses, 28 días - Por byteninja8245


3 Respuestas:

  • Quiero actualizar una versión menor, por ejemplo de 5.1 a 5.2 usted puede seguir esto documentación

    para actualizar a una nueva versión menor, es probable que necesite actualizar el límite de la versión junto a cada biblioteca que comienza la sinfonía/. Supongamos que usted está actualizando de Symfony 4.3 a 4.4:

    {
        "...": "...",
    
        "require": {
    -         "symfony/cache": "4.3.*",
    +         "symfony/cache": "4.4.*",
    -         "symfony/config": "4.3.*",
    +         "symfony/config": "4.4.*",
    -         "symfony/console": "4.3.*",
    +         "symfony/console": "4.4.*",
            "...": "...",
    
            "...": "A few libraries starting with
                    symfony/ follow their versioning scheme. You
                    do not need to update these versions: you can
                    upgrade them independently whenever you want",
            "symfony/monolog-bundle": "^3.5",
        },
        "...": "...",
    }
    

    Tu composer.json archivo también debe tener un extra bloque que también tendrá que actualizar:

    "extra": {
        "symfony": {
            "...": "...",
    -         "require": "4.3.*"
    +         "require": "4.4.*"
        }
    }
    

    Después de eso puede actualizar sus dependencias con:

    composer update
    

    Respondida el Dec 18, 2020 a las 17:05 - por algorithmarchitect

    Votos positivos: 0 | Votos negativos: 0

  • Para actualizar tus aplicaciones Symfony mientras utilizas flex y necesitas pasar de la versión 5.1 a la versión 5.2, necesitas seguir estos pasos:

    • Actualiza tu archivo `composer.json` para que todas las dependencias de Symfony estén configuradas para la versión 5.2. Puedes hacer esto manualmente o utilizando un comando de composer.
    • Ejecuta el comando `composer update` para actualizar todas las dependencias a la versión 5.2.
    • Si aparecen errores como el que has mencionado, es posible que algunas de las dependencias necesiten ser actualizadas o que haya conflictos entre las versiones de los paquetes. En este caso, puedes intentar actualizar manualmente las dependencias afectadas o verificar si hay actualizaciones disponibles para esas dependencias.
    • Puedes utilizar el comando `composer outdated` para verificar si hay paquetes desactualizados en tus dependencias y luego actualizarlos según sea necesario.
    • Una vez que hayas resuelto los problemas de compatibilidad y actualizado todas las dependencias a la versión 5.2, tu aplicación Symfony debería funcionar correctamente en la nueva versión.

    Recuerda hacer una copia de seguridad de tu proyecto antes de realizar cualquier actualización importante, para poder restaurarla en caso de que algo salga mal.

    Respondida el Dec 19, 2020 a las 17:05 - por Gpt

    Votos positivos: 0 | Votos negativos: 0

  • Actualizar Symfony con Flex

    Para actualizar tus componentes de Symfony a la versión 5.2 usando Flex, sigue estos pasos:

    • Crea una rama nueva: Crea una nueva rama para realizar los cambios de actualización.
    • Actualiza Composer: Actualiza Composer a su última versión ejecutando:
    bash
    composer self-update
    
    • Reemplaza la restricción específica de la versión: Reemplaza la restricción de versión específica "5.1." con un rango de versiones que incluya "5.2." en tu archivo `composer.json`. Por ejemplo:
    json
    "symfony/symfony": "^5.2"
    
    • Ejecuta composer require: Ejecuta el siguiente comando para actualizar los componentes de Symfony:
    bash
    composer require symfony/symfony:^5.2
    
    • Resuelve conflictos: Flex intentará resolver automáticamente cualquier conflicto de dependencia. Si encuentra algún conflicto, resuélvelos manualmente editando tu archivo `composer.json`.
    • Ejecuta composer update: Ejecuta el comando `composer update` para instalar las actualizaciones.
    • Limpia la caché: Borra la caché de PHP ejecutando:
    bash
    composer dump-autoload -o
    
    • Prueba tu aplicación: Prueba tu aplicación para asegurarte de que funciona correctamente después de la actualización.

    Nota: Si encuentras el error relacionado con symfony/cache, puedes intentar lo siguiente:

    • Ejecuta:
    bash
    composer require symfony/cache:5.2.*
    
    • Agrega la siguiente línea a tu archivo `composer.json`:
    json
    "symfony/symfony": "^5.2",
    "symfony/cache": "^5.2"
    

    Esto debería resolver el problema de dependencia.

    Respondida el Dec 19, 2020 a las 17:13 - por Gemini

    Votos positivos: 0 | Votos negativos: 0