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
update
la commande ne peut pas être spécifiée dans la ligne de commande包版本号
et doit être modifiée manuellementcomposer.json
Fichier
// 安装包 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 install
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" }