Maison  >  Article  >  outils de développement  >  Commandes courantes et contraintes de version de Composer

Commandes courantes et contraintes de version de Composer

藏色散人
藏色散人avant
2019-08-20 14:36:092311parcourir

La colonne suivante du tutoriel d'utilisation du compositeur expliquera les commandes de gestion de packages couramment utilisées et comment contraindre les versions de packages. J'espère que cela sera utile aux amis dans le besoin !

Commandes courantes et contraintes de version de Composer

Les commandes communes

exigent une commande

Dans "Tutoriel Composer " a brièvement présenté comment utiliser la commande install pour installer les dépendances. En plus de la commande install, nous pouvons également utiliser la commande require pour installer rapidement une dépendance sans ajouter manuellement les informations de dépendance dans composer.json :

$ composer require monolog/monolog
Using version ^1.19 for monolog/monolog
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
  - Installing psr/log (1.0.0)
    Downloading: 100%         
 
  - Installing monolog/monolog (1.19.0)
    Downloading: 100%         
 
monolog/monolog suggests installing graylog2/gelf-php (Allow sending log messages to a GrayLog2 server)
......
monolog/monolog suggests installing php-console/php-console (Allow sending log messages to Google Chrome)
Writing lock file
Generating autoload files

Composer trouvera d'abord la version appropriée puis mettra à jour le composer.json Ajoutez les informations pertinentes du package monolog/monolog dans require, puis téléchargez les dépendances pertinentes pour l'installation, et enfin mettez à jour le fichier composer.lock et générez le fichier de chargement automatique PHP.

commande update

Grâce à la commande update, vous pouvez mettre à jour tous les packages du projet, ou certains packages spécifiés.

# 更新所有依赖
$ composer update
 
# 更新指定的包
$ composer update monolog/monolog
 
# 更新指定的多个包
$ composer update monolog/monolog symfony/dependency-injection
 
# 还可以通过通配符匹配包
$ composer update monolog/monolog symfony/*

Il convient de noter que la version que le package peut mettre à niveau sera contrainte par la contrainte de version, et que le package ne sera pas mis à niveau vers une version au-delà de la version contrainte. Par exemple, si la contrainte de version du package dans composer.json est ^1.10 et que la dernière version est 2.0. Ensuite, la commande update ne peut pas mettre à niveau le package vers la version 2.0, mais peut uniquement le mettre à niveau vers la version 1.x. Veuillez consulter l'introduction ci-dessous pour connaître les contraintes de version.

commande Remove

Utilisez la commande Remove pour supprimer un package et ses dépendances (lorsque les dépendances ne sont pas utilisées par d'autres packages) :

$ composer remove monolog/monolog
Loading composer repositories with package information
Updating dependencies (including require-dev)
  - Removing monolog/monolog (1.19.0)
  - Removing psr/log (1.0.0)
Writing lock file
Generating autoload files

commande de recherche

Utilisez la commande de recherche pour rechercher des packages :

$ composer search monolog
monolog/monolog Sends your logs to files, sockets, inboxes, databases and various web services
 
# 如果只是想匹配名称可以使用--only-name选项
$ composer search --only-name monolog

commande show

Utilisez la commande show pour lister Obtenez des informations sur les packages actuellement installés dans le projet :

# 列出所有已经安装的包
$ composer show
 
# 可以通过通配符进行筛选
$ composer show monolog/*
 
# 显示具体某个包的信息
$ composer show monolog/monolog

Ce qui précède est une introduction aux commandes couramment utilisées.

Contraintes de version

Comme mentionné précédemment, nous pouvons spécifier la version du package à télécharger. Par exemple, nous souhaitons télécharger la version 1.19 de monologue. Nous pouvons atteindre l'objectif via le fichier composer.json :

{
    "require": {
        "monolog/monolog": "1.19"
    }
}

puis exécuter la commande install, ou via la commande require :

$ composer require monolog/monolog:1.19
 
# 或者
$ composer require monolog/monolog=1.19
 
# 或者
$composer require monolog/monolog 1.19

En plus de spécifier la version spécifique comme ci-dessus, nous peut également transmettre différentes contraintes pour spécifier la version.

Contraintes de base

Version exacte

Vous pouvez spécifier une version spécifique pour indiquer à Composer de n'installer que cette version. Mais si d’autres dépendances nécessitent d’autres versions, l’installation ou la mise à jour du package finira par échouer et se terminer.

Exemple : 1.0.2

Portée

À l'aide d'opérateurs de comparaison, vous pouvez spécifier la portée d'un package. Ces opérateurs incluent : >, >=,

Vous pouvez définir plusieurs plages, utiliser des espaces ou des virgules pour indiquer un ET logique, utiliser des barres verticales doubles || pour indiquer un OU logique. La priorité de AND sera supérieure à ou.

Il convient de noter que l'utilisation d'une plage illimitée peut conduire à l'installation de versions imprévisibles et à une rupture de compatibilité descendante. Il est recommandé d'utiliser l'opérateur trait d'union.

Exemple :

>=1.0
>=1.0 <2.0
>=1.0 <1.1 || >=1.2

Portée (utilisez des tirets)

Une portée avec trait d'union indique la plage de versions incluse, ce qui signifie qu'il doit y avoir une limite. Le côté gauche du trait d’union indique la version >=, tandis que la situation sur le côté droit du trait d’union est un peu plus compliquée. Si la version à droite n'est pas un numéro de version complet, elle sera complétée à l'aide de caractères génériques. Par exemple, 1,0 - 2,0 équivaut à >=1,0,0 =1,0,0

Exemple : 1.0 - 2.0

Caractère générique

Vous pouvez utiliser des caractères génériques pour définir des versions. 1.0.* équivaut à >=1.0

Exemple : 1.0.*

Prochains opérateurs de version importants

tilde~

Passons d'abord par le dos. L'exemple explique l'utilisation de l'opérateur ~ : ~1.2 est équivalent à >=1.2 =1.2.3

Exemple : ~1.2

Il est à noter que si ~ agit sur le numéro de version majeure, tel que ~1, selon la déclaration ci-dessus, Composer peut installer des versions majeures après la version 1, mais en fait, ~1 sera traité comme ~1.0, et seules les versions mineures pourront être ajoutées, pas les versions majeures.

Numéro Zheyin^

^操作符的行为跟Semantic Versioning有比较大的关联,它允许升级版本到安全的版本。例如,^1.2.3相当于>=1.2.3 =0.3.0

例子:^1.2.3

版本稳定性

如果你没有显式的指定版本的稳定性,Composer会根据使用的操作符,默认在内部指定为-dev或者-stable。例如:

Commandes courantes et contraintes de version de Composer

如果你想指定版本只要稳定版本,你可以在版本后面添加后缀-stable。

minimum-stability 配置项定义了包在选择版本时对稳定性的选择的默认行为。默认是stable。它的值如下(按照稳定性排序):dev,alpha,beta,RC和stable。除了修改这个配置去修改这个默认行为,我们还可以通过稳定性标识(例如@stable和@dev)来安装一个相比于默认配置不同稳定性的版本。例如:

{
    "require": {
        "monolog/monolog": "1.0.*@beta",
        "acme/foo": "@dev"
    }
}

以上是版本约束的介绍。

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