Estoy tratando de instalar una versión específica de un paquete usando Composer. Lo intenté composer install
y composer require
están instalando la última versión del paquete. ¿Qué pasa si quiero una versión anterior?
Estoy tratando de instalar una versión específica de un paquete usando Composer. Lo intenté composer install
y composer require
están instalando la última versión del paquete. ¿Qué pasa si quiero una versión anterior?
Respuestas:
composer require vendor/package:version
por ejemplo:
composer require refinery29/test-util:0.10.2
Agregue comillas dobles para usar el operador de intercalación en el número de versión.
composer require middlewares/whoops "^0.4"
solo use php composer.phar require
Por ejemplo :
php composer.phar require doctrine/mongodb-odm-bundle 3.0
También disponible con instalación.
https://getcomposer.org/doc/03-cli.md#require https://getcomposer.org/doc/03-cli.md#install
install
- solo con require
. Si esperaba cambiar a una versión específica y registrar su composer.lock
archivo, puede hacerlo, pero tendría que usarlo composer require
y luego revertir el cambio a composer.json
continuación.
Como @alucic mencionó, use:
composer require vendor/package:version
o puedes usar:
composer update vendor/package:version
Probablemente debería revisar esta publicación de StackOverflow sobre las diferencias entre la instalación del compositor y la actualización del compositor .
En relación con la pregunta sobre los números de versión, puede revisar la documentación de Composer sobre versiones , pero aquí en resumen:
Por lo tanto, con Tilde obtendrá actualizaciones automáticas de parches, pero las versiones menores y mayores no se actualizarán. Sin embargo, si usa Caret obtendrá parches y versiones menores, pero no obtendrá versiones principales (cambios importantes).
La versión de Tilde se considera un enfoque "más seguro", pero si está utilizando dependencias confiables (bibliotecas bien mantenidas) no debería tener ningún problema con la versión de Caret (porque los cambios menores no deberían ser cambios importantes).
Suponga que desea instalar Laravel Collective. Actualmente está en la versión 6.x pero quieres la versión 5.8. Puede ejecutar el siguiente comando:
composer require "laravelcollective/html":"^5.8.0"
Aquí se muestra un buen ejemplo en la documentación: https://laravelcollective.com/docs/5.5/html
En tu composer.json
, puedes poner:
{
"require": {
"vendor/package": "version"
}
}
luego ejecutar composer install
o composer update
desde el directorio que contiene composer.json
. A veces, para mí, el compositor es raro, así que comenzaré composer clear-cache; rm -rf vendor; rm composer.lock
antes composer install
para asegurarme de que esté obteniendo cosas nuevas.
Por supuesto, como señalan las otras respuestas, puede ejecutar lo siguiente desde la terminal:
composer require vendor/package:version
Y sobre el versionado:
- Artículo de versiones oficiales del compositor
- Ecosia Search