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

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

藏色散人
Libérer: 2019-08-03 13:46:24
avant
8888 Les gens l'ont consulté

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
Copier après la connexion

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
Copier après la connexion

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
Copier après la connexion

Utilisation incorrecte

composer update hashids/hashids:3.0.0
Copier après la connexion

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
Copier après la connexion

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
Copier après la connexion

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"
}
Copier après la connexion

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!

Étiquettes associées:
source:52bug.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal