El otro día mi colega Stephen me explicó la diferencia. Si no sabes lo que es Composer, se trata de un gestor de dependencias para PHP. Básicamente y en pocas palabras, composer es la hostia. No obstante, entiendo que si estás leyendo este post ya sabes de sobra para qué sirve composer.

Vamos al grano. Composer tiene dos comandos para descargar las dependencias de tu proyecto:

  • composer update
  • composer install

La diferencia entre los dos es que composer update resuelve todas las dependencias de versiones cada vez que lo ejecutas, guarda los resultados en el archivo composer.lock y finalmente descarga las librerías.

Por otra parte, composer install lee el archivo composer.lockdescarga directamente las librerías. Por eso, composer install tarda mucho menos tiempo en ejecutarse que composer update.

Por lo tanto, la mejor forma de trabajar es ejecutando composer update solo cuando el archivo composer.json sea modificado (o cuando quieras comprobar si hay nuevas versiones). Cuando el archivo composer.lock se genere, añadirlo al sistema de control de versiones y utilizar composer install en el resto de equipos que vayan a trabajar en el proyecto. Esto ahorra muuuucho tiempo (más si usas vagrant).

En este post puedes encontrar una explicación más profunda, pero en inglés.

¡Un saludo!