Etiquetado de actualizaciones del paquete del compositor
-
20-12-2019 - |
Pregunta
Tengo un paquete de composición PHP que requiere "illuminate/support":"4.1.*"
para usar con la integración de Laravel 4.1.Tengo un nuevo proyecto de Laravel que ahora tiene la versión 4.2.*.Creo que ahora necesito actualizar el paquete para requerir "illuminate/support":"4.2.*"
(debido a errores del compositor).¿Cuál es la mejor manera de mantener el soporte para Laravel v4.1 y v4.2 en el paquete?
Aquí está mi paquete de compositor. composer.json
archivo:
{
"name": "appointedd/appointedd-php",
"description": "",
"authors": [
{
"name": "Billy Jones",
"email": "billy@appointedd.com"
}
],
"require": {
"php": ">=5.3.0",
"illuminate/support": "4.1.*",
"guzzlehttp/guzzle": "~4.0"
},
"autoload": {
"psr-0": {
"Appointedd\\Appointedd": "src/"
}
},
"minimum-stability": "stable"
}
Actualmente está etiquetado en la versión. 0.0.3
.¿Debo actualizar el composer.json
archivo para requerir 4.2.* y etiquetarlo 0.1.0
¿O usar un nombre más significativo?
Solución
La pregunta es qué diferencias hay entre 4.1 y 4.2 que necesitas para admitirlo de manera diferente.El control de versiones semántico debería garantizar que la versión secundaria más nueva solo introduzca características compatibles con BC y correcciones de errores.
En cuanto a su pregunta, puede incluir el rango de versiones en su composer.json
archivo, como se describe aquí:
Rango> = 1.0> = 1.0, <2.0> = 1.0, <1.1 | > = 1.2 Al usar operadores de comparación, puede especificar rangos de versiones válidas.Operadores válidos son >, >=, <, <=, !=.Puede definir múltiples rangos, separados por un coma, que se tratará como un AND lógico.Un símbolo de pipa | será tratado como una OR lógica.AND tiene mayor prioridad que OR.
En tu situación sería algo como:
"illuminate/support": ">=4.1.0,<4.3",