Maison  >  Article  >  outils de développement  >  Pourquoi utiliser des alias ?

Pourquoi utiliser des alias ?

藏色散人
藏色散人avant
2019-10-28 13:44:233345parcourir

La colonne suivante du tutoriel du compositeur vous présentera les raisons d'utiliser les alias de branche. J'espère qu'elle sera utile aux amis dans le besoin !

Pourquoi utiliser des alias ?

Pourquoi utiliser des alias ?

Lorsque vous utilisez un référentiel de système de contrôle de version, vous ne pouvez obtenir une version comparable qu'à partir des branches qui ressemblent à des versions, telles que 2.0 ou 2.0.x. Pour la branche master, vous n’obtenez qu’une seule version dev-master. Pour la branche bugfix, vous obtiendrez la version dev-bugfix.

Si votre branche master est utilisée pour marquer le processus de développement de la version 1.0, comme 1.0.1, 1.0.2, 1.0.3, etc., les packages qui dépendent de votre bibliothèque peuvent avoir besoin de la version 1.0.*.

Si quelqu'un souhaite utiliser la dernière version de dev-master, il rencontrera un problème : certains packages peuvent nécessiter la version 1.0.*, donc ces deux provoqueront des conflits, car dev-master ne correspond pas à 1.0.*.

Sur la base de ce qui précède, des alias apparaissent.

Alias ​​de branche

La branche dev-master en fait partie dans le référentiel VCS principal. Il est courant que certaines personnes veuillent disposer de la dernière version de développement majeure. Par conséquent, Composer vous permet d'alias la branche dev-master vers la version 1.0.x-dev. Cela se fait en spécifiant le champ branch-alias sous extra dans composer.json :

{
    "extra": {
        "branch-alias": {
            "dev-master": "1.0.x-dev"
        }
    }
}

Si l'alias est une version non comparable (par exemple dev-develop), vous devez préfixer le nom de la branche avec dev- . Vous pouvez également ajouter des alias (c'est-à-dire commençant par un numéro et se terminant par .x-dev) pour des versions comparables, mais uniquement en tant que versions plus spécifiques. Par exemple, 1.x-dev peut être alias 1.2.x-dev.

L'alias doit être une version de développement comparable et l'alias de branche doit apparaître sur la branche à laquelle il fait référence. Pour dev-master, vous devez le valider sur la branche master.

Donc, beaucoup de gens ont besoin de la version 1.0.* maintenant et il se fera un plaisir d'installer dev-master .

Pour utiliser un alias de branche, vous devez posséder le référentiel du package avec l'alias. Si vous souhaitez ajouter un alias à un package tiers sans en conserver un fork, utilisez des alias en ligne, comme décrit ci-dessous.

Nécessite des alias en ligne

Les alias de branche sont utiles pour les principales lignes de développement. Mais pour les utiliser, vous devez contrôler le référentiel source et les modifications doivent être validées dans le contrôle de version.

Ce n'est pas très intéressant quand on veut tenter une correction de bug pour une bibliothèque qui est une dépendance de votre projet local.

Vous pouvez donc alias les packages dans les champs require et require-dev. Supposons que vous trouviez un bogue dans le package monolog/monolog. Vous clonez Monolog sur GitHub et corrigez le problème dans une branche appelée bugfix. Vous souhaitez maintenant installer cette version de monolog dans votre projet local.

Vous utilisez symfony/monolog-bundle qui nécessite monolog/monolog version 1.* . Par conséquent, vous devez utiliser dev-bugfix pour répondre à cette contrainte.

Ajoutez ceci à la racine composer.json de votre projet :

{
    "repositories": [
        {
            "type": "vcs",
            "url": "https://github.com/you/monolog"
        }
    ],
    "require": {
        "symfony/monolog-bundle": "2.0",
        "monolog/monolog": "dev-bugfix as 1.0.x-dev"
    }
}

Cela obtiendra la version du dev-bugfix de monolog/monolog à partir de votre Github et l'aliasera vers 1.0.x -dev.

Remarque : l'alias en ligne est une fonctionnalité réservée aux racines uniquement. Si un package avec un alias en ligne est requis, utilisez l'alias (côté droit de as ) comme contrainte de version. La partie gauche de as est supprimée. Donc, si A nécessite B et B nécessite que la version monolog/monolog dev-bugfix soit 1.0.x-dev , alors l'installation de A obligera B à également nécessiter 1.0.x-dev , qui peut exister en tant qu'alias de branche ou en tant que version 1.0 réelle. bifurquer. Sinon, vous devrez à nouveau créer un alias en ligne dans le composer.json de A.

Remarque : l'utilisation d'alias en ligne doit être évitée, en particulier pour les packages/bibliothèques publiés. Si vous trouvez un bug, essayez de fusionner votre correctif en amont, cela permettra d'éviter des problèmes aux utilisateurs de votre package.

Pour plus d'articles techniques sur le compositeur, veuillez visiter la colonne du didacticiel commande du compositeur !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer