Cómo instalar una versión específica de un paquete con Composer

PHP

En este pequeño tutorial vamos a ver cómo puedes una versión específica de un paquete de PHP con composer, algo que en ocasiones resulta imprescindible debido a los requerimientos de tu sistema o de algún otro paquete.

En general, debes usar el comando composer require seguido del nombre del paquete, de dos puntos y de la versión del paquete que quieres instalar:

composer require nombre/paquete:version

Por ejemplo, en caso de que quieras instalar la versión 7.1 del paquete Guzzle, tendrías que ejecutar el siguiente comando:

composer require guzzlehttp/guzzle:~7.1

Al agregar el carácter ~ hemos especificado un rango de versiones, que será mayor o igual a la versión 7.1 y menor que la versión 7.2. De entre el rango de versiones anterior se instalará la más reciente. Es decir, que obtendremos las actualizaciones de seguridad.

También podríamos haber especificado el rango de versiones usando el carácter ^, que expandirá el rango a las versiones mayores:

composer require guzzlehttp/guzzle:^7.2

El rango de versiones anterior indica que la versión mínima a instalar será mayor o igual a la versión 7.2 y menor que la versión 8.

También puedes instalar una versión específica:

composer require guzzlehttp/guzzle:7.2.3

O también:

composer require guzzlehttp/guzzle:7.2

Si no sabes la versión del paquete que está instalada actualmente, puedes comprobar el archivo composer.json o también usar el comando composer show, que mostrará una lista con los paquetes locales instalados en el proyecto. De querer ver los paquete globales, tendrías que usar el comando composer global show, aunque se recomienda tener cuidado al instalar una versión en concreto de un paquete global, ya que puede afectar a varios proyectos.

Cabe decir que no se recomienda instalar versiones menores específicas de un paquete. Es por ello que hemos usado ~7.0 en lugar de instalar por ejemplo la versión 7.1.3, ya que esto último además nos dará un aviso. En general, la versiones menores solamente se usan para corregir bugs, no afectando a las funcionalidades del paquete. Así, además, el paquete se actualizará a la versión menor más reciente cuando ejecutes el comando composer update:

composer update guzzlehttp/guzzle

En ocasiones necesitarás usar alguna versión mayor de un paquete cuando otro paquete lo requiera. Esto puede que se te pida cuando intentes instalar o actualizar un paquete. Las versiones menores nunca suelen ser requisito de ningún paquete. Si quieres comprobar si existe algún problema con algún paquete instalado o su respectiva versión, tendrás que ejecutar el comando composer diagnose.

Esto ha sido todo.


Avatar de Edu Lazaro

Edu Lázaro: Ingeniero técnico en informática, actualmente trabajo como desarrollador web y programador de videojuegos.

👋 Hola! Soy Edu, me encanta crear cosas y he redactado esta guía. Si te ha resultado útil, el mayor favor que me podrías hacer es el de compatirla en Twitter 😊

Si quieres conocer mis proyectos, sígueme en Twitter.

Deja una respuesta

“- Hey, Doc. No tenemos suficiente carretera para ir a 140/h km. - ¿Carretera? A donde vamos, no necesitaremos carreteras.”