Marquage des mises à jour du package Composer
-
20-12-2019 - |
Question
J'ai un package PHP Composer qui nécessite "illuminate/support":"4.1.*"
à utiliser avec l'intégration de Laravel 4.1.J'ai un nouveau projet Laravel qui est maintenant à la version 4.2.*.Je crois que je dois maintenant mettre à jour le package pour exiger "illuminate/support":"4.2.*"
(en raison d'erreurs du compositeur).Quelle est la meilleure façon de maintenir la prise en charge de Laravel v4.1 et v4.2 dans le package ?
Voici mon package de compositeur composer.json
déposer:
{
"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"
}
Il est actuellement étiqueté à la version 0.0.3
.Dois-je mettre à jour le composer.json
fichier pour exiger 4.2.* et étiquetez-le 0.1.0
ou utiliser un nom plus significatif ?
La solution
La question est de savoir quelles sont les différences entre 4.1 et 4.2 dont vous avez besoin pour le prendre en charge différemment.Le versioning sémantique doit garantir que la version mineure la plus récente introduit uniquement des fonctionnalités et des corrections de bogues compatibles avec BC.
Quant à votre question, vous pouvez inclure la plage de versions dans votre composer.json
fichier, comme décrit ici:
Plage> = 1,0> = 1,0, <2,0> = 1,0, <1,1 | > = 1.2 En utilisant des opérateurs de comparaison, vous pouvez spécifier des plages de versions valides.Les opérateurs valides sont>,> =, <, <=,! =.Vous pouvez définir plusieurs gammes, séparées par une virgule, qui sera traitée comme une logique et.Un symbole de tuyau | sera traité comme une logique ou.AND a une priorité plus élevée que OR.
Dans votre situation, ce serait quelque chose comme :
"illuminate/support": ">=4.1.0,<4.3",