Maison  >  Article  >  outils de développement  >  composer met à jour la méthode du package de dépendances spécifiée

composer met à jour la méthode du package de dépendances spécifiée

藏色散人
藏色散人avant
2021-03-09 13:56:443736parcourir

La colonne tutorielle suivante de composer vous présentera la méthode de composer mettant à jour le package de dépendances spécifié. J'espère qu'elle sera utile aux amis qui en ont besoin !

composer met à jour la méthode du package de dépendances spécifiée

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

compoesr require/update peut être Packages de dépendances spécifiés mis à jour (mise à niveau/rétrogradation).

require est plus flexible. S'il n'est pas installé, il sera installé. S'il est installé, il sera 升级 ou 降级 en fonction du numéro de version transmis.
update ne peut pas être transmis dans le 版本号 spécifié sur la ligne de commande. Vous devez d'abord modifier manuellement composer.json, spécifier un nouveau 版本号, puis exécuter la commande de mise à jour.

#忽略
composer require google/protobuf --ignore-platform-reqs -vvv

commande require

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

updatela commande ne peut pas être spécifiée dans la ligne de commande包版本号 et doit être modifiée manuellementcomposer.jsonFichier

// 安装包
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 modifions et mettons à jour les numéros de version de plusieurs packages, nous ne pouvons pas utilisez la méthode
composer update package1
composer update package2
composer update package3
pour mettre à jour séquentiellement, car composer vérifiera l'intégrité du fichier de configuration json vs lock, vous avez spécifié que vous souhaitiez que je le fasse mettez à jour A, mais vous Il y a quelque chose qui ne va pas avec le B de version qui est incohérent entre json et lock et vous ne voulez pas que je le mette à jour.

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 !

la 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 le développement collaboratif des packages comme autant que possible Cohérence des versions. Les enregistrements de version de package qui existent dans

composer.lock sont équivalents à l'exécution de composer require packageName:versionNo, et ceux qui n'existent pas sont équivalents à l'exécution de composer update packageName with versionRule in composer.json.

Lorsque nous collaborons au développement, si A installe un nouveau package de dépendances localement ou met à jour un package de dépendances, il sera écrit composer.lock/composer.json, A le télécharge dans l'entrepôt et B le récupère localement, cela devrait être exécuté une fois composer installPour 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