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.

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.

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)
Por cierto que si utilizas Symfony es mejor usar «symfony composer» update siempre que puedas
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.