• Saltar a la navegación principal
  • Saltar al contenido principal

Galatar

Programación Web de cero a infinito

  • Inicio
  • Acerca de
Usted está aquí: Inicio / Herramientas / Cómo actualizar tus dependencias correctamente con composer

Cómo actualizar tus dependencias correctamente con composer

9 septiembre 2019 by Juanan Ruiz 2 comentarios

Llevo bastante tiempo utilizando composer y nadie me había contado cómo actualizar las dependencias correctamente.

Composer es esa maravillosa herramienta que te permite administrar todas las librerías externas que vas agregando a tus proyectos además de mantener tu repositorio limpio de de código que tu no tienes que mantener.

Esto nos lleva a utilizar composer al menos en dos frentes, el entorno de desarrollo y el de producción. Pero la manera de hacerla en ambos sitio es distinta y esto era lo que yo no sabía hacer correctamente hasta ahora.

En tu entorno de desarrollo, cada vez que agregas una nueva dependencia al fichero composer.json o sabes que toca actualizar alguna librería debes usar composer update, esta orden consume bastante memoria y comprobarás que tarda un buen rato en completarse. Pero bueno, no tiene mayor importancia porque es tu equipo de desarrollo al que no hay nadie accediendo y merece la pena perder esos segundos para tener todas las librerías en sus últimas versiones. Cuando hacemos esto se genera una nueva versión del fichero composer.lock, que como ya deberías saber debería estar versionada en tu repositorio.

Contenido de composer.json
Ejemplo de fichero composer.json

Así que una vez hecho composer update en tu entorno de desarrollo y comprobado que todo funciona correctamente, deberías subir los cambios al repositorio remoto para tener disponible la última versión del fichero composer.lock. Entonces accedes a tu entorno de producción, actualiza el repositorio para tener la última versión de composer.lock y en vez de utilizar composer update ejecuta composer install ¿porqué? Porque composer install utiliza como fuente el fichero composer.lock (siempre que esté presente claro) y así no tiene que consumir recursos buscando a ver cual es la última actualización de cada paquete (ese trabajo ya lo hiciste en el entorno de desarrollo), ya que bajará las versiones indicadas en composer.lock.

Contenido composer.lock
Ejemplo de fichero composer.lock

Si desarrollas en equipo sólo debería ejecutar composer update una persona y el resto composer install para asegurarse que todos trabajan exactamente con las mismas versiones.

Resumiendo

  • Si estás en el entorno de desarrollo usa composer update y sube composer.lock al repositorio.
  • Si estás en testing o en producción usa composer install (recuerda actualizar composer.lock desde el repositorio)

Para saber más

  • Composer, lock the lock file

Artículos relacionados

  • Automatiza la creación de tus proyectos con composer

Archivado en: Herramientas Etiquetado con: Composer, control de versiones




Comentarios

  1. Juanan Ruiz dice

    18 septiembre 2019 en 13:36

    Por cierto que si utilizas Symfony es mejor usar «symfony composer» update siempre que puedas

    Responder
  2. Martin dice

    19 mayo 2021 en 23:06

    Gracias, tenia dudas sobre como pasarlo al servidor, de igual manera, solo estoy instalando una libreria para el manejo de base de datos, asi que solo hice un composer require libreria, y pushe el composer.lock al repo.

    Luego desde el sv, pullie ese cambio y ejecute composer install como lo mencionas.

    Saludos.

    Responder

Deja una respuesta Cancelar la respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Copyright © 2022 · Aspire Pro on Genesis Framework · WordPress · Iniciar sesión