Maison  >  Article  >  outils de développement  >  composer met à jour les packages de dépendances spécifiés

composer met à jour les packages de dépendances spécifiés

藏色散人
藏色散人avant
2019-08-03 13:46:248843parcourir

composer met à jour les packages de dépendances spécifiés

composer met à jour le package de dépendances spécifié

requiert/update de compoesr peut mettre à jour le package de dépendances spécifié (mise à niveau/rétrogradation ).

require est plus flexible. S'il n'est pas installé, il sera installé, s'il est installé, il sera mis à niveau ou rétrogradé en fonction du numéro de version transmis.

La mise à jour ne peut pas transmettre un nouveau numéro de version sur la ligne de commande. Vous devez spécifier manuellement le nouveau numéro de version dans composer.json, puis exécuter la commande de mise à jour.

composer require google/protobuf --ignore-platform-reqs -vvv

Recommandations associées : [Tutoriel du compositeur]

require command

Exemple

// 安装包
composer require hashids/hashids:2.0.0
// 已安装 升级
composer require hashids/hashids:3.0.0
// 已安装 降级
composer require hashids/hashids:2.0.4

Commande de mise à jour

La commande de mise à jour ne peut pas spécifier le numéro de version du package dans la ligne de commande et vous devez modifier manuellement le fichier composer.json

// 安装包
composer require hashids/hashids:2.0.0

Utilisation incorrecte

composer update hashids/hashids:3.0.0

Exemple d'utilisation correcte

vim composer.json
"require": {
    "hashids/hashids": "3.0.0"
},
:wq
#升级到3.0.0
composer update hashids/hashids
vim composer.json
"require": {
    "hashids/hashids": "2.0.4"
},
:wq
#降级到2.0.4
composer update hashids/hashids

En même temps, si nous éditons et mettons à jour les numéros de version de plusieurs packages, nous ne pouvons pas utiliser la méthode

composer update package1
composer update package2
composer update package3

pour les mettre à jour les uns après les autres, parce que composer vérifiera l'intégrité du fichier de configuration json vs Lock, vous avez spécifié que vous souhaitez que je mette à jour A, mais la version de B est incohérente dans json et lock, mais vous ne voulez pas que je la mette à jour. C'est problématique. .

Pour le moment, vous ne pouvez utiliser composer update que pour mettre à jour globalement les dépendances. Notez qu'il s'agit d'une opération de mise à jour pour les packages globaux. Certains packages que vous n'avez pas modifiés mais qui utilisent une plage de numéros de version peuvent également être mis à jour et. mis à niveau. Veuillez utiliser avec prudence !

commande d'installation

install peut être utilisée pour installer les dépendances pour la première fois après l'initialisation du projet, et le numéro de version dans composer.lock sera lu en premier pour garantir que autant que possible Cohérence des versions du package dans le développement collaboratif.

L'enregistrement de version du package qui existe dans composer.lock équivaut à l'exécution de composer require packageName:versionNo, et son absence équivaut à l'exécution de composer update packageName with versionRule in composer.json.

Lorsque nous collaborons au développement, A installe un nouveau package de dépendances localement ou met à jour un package de dépendances, qui sera écrit dans composer.lock/composer.json, A le télécharge dans l'entrepôt et B le récupère. localement, une installation de composer doit être exécutée pour synchroniser les changements de version de l'équipe.

Par conséquent, lors du développement collaboratif, nous vous recommandons de télécharger composer.lock/composer.json vers l'entrepôt distant en même temps.

Plage de numéros de version

大于/大于等于:>1.2.3 >=1.2.3
小于/小于等于:<1.2.3 <=1.2.3
确切的版本号:1.2.3 
~1.2.3: 1.2.3 <= version < 1.3
^1.2.3: 1.2.3 <= version < 2.0
{
    "php": ">=7.0",
    "ext-swoole": ">=4.0.0",
    "lib-curl": ">=7.29.0"
}

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
Article précédent:que veut dire le compositeurArticle suivant:que veut dire le compositeur