¿Cuáles son las diferencias entre composer update y composer install?


¿cuáles son las diferencias entre composer update y composer install?

Author: Félix Gagnon-Grenier, 2015-10-10

3 answers

Composer update

composer update actualizará sus dependencias como se especifican en composer.json

Por ejemplo, si necesita este paquete como una dependencia:

"mockery/mockery": "0.9.*",

Y ya ha instalado la versión 0.9.1 del paquete, ejecutar composer update provocará una actualización de este paquete (por ejemplo a 0.9.2, si ya ha sido liberado)

En detalle composer update será:

  • Debe decir composer.json
  • Elimine los paquetes instalados que no más requerido en composer.json
  • Compruebe la disponibilidad de las últimas versiones de sus paquetes requeridos
  • Instale las últimas versiones de sus paquetes
  • Actualice composer.lock para almacenar la versión de los paquetes instalados

Composer install

composer install no actualizará nada; simplemente instalará todas las dependencias especificadas en el archivo composer.lock

En detalle:

  • Compruebe si existe el archivo composer.lock (si no, ejecute composer-update y crear)
  • Read composer.lock file
  • Instale los paquetes especificados en el archivo composer.lock

Cuándo instalar y cuándo actualizar

  • composer update se utiliza principalmente en la 'fase de desarrollo', para actualizar nuestros paquetes de proyectos de acuerdo con lo que hemos especificado en el archivo composer.json,

  • composer install se utiliza principalmente en la 'fase de despliegue' para instalar nuestra aplicación en un servidor de producción o en un entorno de prueba, utilizando el mismo dependencias almacenadas en el compositor.archivo de bloqueo creado por composer update.

 180
Author: Moppo,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-11-05 12:00:24

Cuando ejecute composer install, buscará un archivo de bloqueo e instalará lo que esté contenido en él, si no puede encontrar uno, leerá composer.json, instale sus dependencias y genere un lockfile.

Cuando ejecuta composer update, simplemente lee composer.json, instala las dependencias y actualiza el lockfile (o crea un nuevo lockfile).

 49
Author: Tim Sheehan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-10-10 09:09:24

composer install

  1. Si composer.lock existe.
    • Procesa e instala dependencias desde el archivo composer.lock.
  2. Si composer.lock no existe .
    • El paquete de proceso se instala desde composer.json.
    • Crea el archivo composer.lock basado en los paquetes instalados.

Según: composer help install:

El comando install lee el archivo composer.lock del directorio actual, lo procesa, y descarga e instala todos los bibliotecas y dependencias descritas en ese archivo. Si el archivo no existe buscará composer.json y hará lo mismo.


composer update

  1. Procesa dependencias desde el archivo composer.json (instala, actualiza y elimina).
  2. Crea o actualiza el archivo composer.lock de acuerdo con los cambios.

Según: composer help update:

El comando update lee el archivo composer.json desde el directorio actual, lo procesa y actualiza, elimina o instala todo el dependencia.


Ver también: Compositor: Todo Se Trata del Archivo de Bloqueo

 15
Author: kenorb,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-05-03 11:53:06