Maison  >  Article  >  outils de développement  >  Utilisez la mise à jour du compositeur avec prudence !

Utilisez la mise à jour du compositeur avec prudence !

藏色散人
藏色散人avant
2020-07-13 13:28:106644parcourir

La colonne tutorielle suivante de composer vous présentera les problèmes liés à l'utilisation de la mise à jour de composer avec prudence. J'espère qu'elle sera utile aux amis dans le besoin !

Utilisez la mise à jour du compositeur avec prudence !

Description du problème

Nous devons souvent ajouter des packages d'extension à des projets existants, parfois en raison d'une documentation erronée, comme l'image suivante de ce document :

Utilisez la mise à jour du compositeur avec prudence !

composer update Cette commande peut causer d'énormes dommages au projet dans notre logique actuelle.

Parce que la logique de composer update est de mettre à jour tous les packages d'extension vers la dernière version selon les règles de version du package d'extension spécifiées par composer.json. Notez qu'il s'agit de tous les packages d'extension, par exemple, lorsque vous démarrez le. Le projet Monolog a été utilisé. Les informations de configuration à cette époque étaient

"monolog/monolog": "1.*",

. La version monolog 1.1 a été installée. Mais maintenant, plus d'un mois plus tard, monolog est déjà 1.2. à 1.2. À ce moment-là, le projet n'a pas fonctionné. Après les tests avec la version 1.2, le projet est soudainement devenu très instable, la situation est parfois pire que cela, surtout dans un projet énorme où vous n'avez pas écrit de tests de couverture complets pour le projet. pour toi. Je ne sais même pas.

Quelle commande faut-il utiliser ? installer, mettre à jour ou exiger ?

Ensuite, nous expliquerons un par un.

Explication simple

composer install - 如有 composer.lock 文件,直接安装,否则从 composer.json 安装最新扩展包和依赖;
composer update - 从 composer.json 安装最新扩展包和依赖;
composer update vendor/package - 从 composer.json 或者对应包的配置,并更新到最新;
composer require new/package - 添加安装 new/package, 可以指定版本,如: composer require new/package ~2.5.

Processus

Présentons quelques-uns Processus de production quotidien pour faciliter et approfondir la compréhension de chacun.

Processus 1 : Nouveau processus de projet
Créez composer.json et ajoutez le package d'extension dont il dépend ;
Exécutez l'installation de composer, installez le package d'extension et générez composer.lock
Soumettez composer ; . verrouillez le contrôleur de version de code, tel que : git;

Processus 2 : les collaborateurs du projet installent les projets existants
Après avoir cloné le projet, exécutez composer install directement dans le répertoire racine pour installer la version spécifiée à partir de composer .lock Le package d'extension et ses dépendances

Ce processus est adapté au déploiement du code de l'environnement de production.

Processus 3 : Ajouter un nouveau package d'extension au projet

Utilisez composer require supplier/package pour ajouter un package d'extension
Soumettez le composer.json et le composer mis à jour ; verrouiller le code Dans le contrôleur de version, tel que : git;

À propos du fichier composer.lock

Le fichier composer.lock stocke les dépendances de chaque code L'enregistrement de version (voir figure ci-dessous) est soumis au contrôleur de version et utilisé conjointement avec composer install pour garantir la cohérence des versions de code exécutées dans l'environnement de développement et l'environnement de production en ligne de tous les collaborateurs de l'équipe.

Utilisez la mise à jour du compositeur avec prudence !

关于扩展包的安装方法

那么,准备添加一个扩展包,install, update, require 三个命令都可以用来安装扩展包,选择哪一个才是正确的呢?

答案是:使用 composer require 命令

另外,在手动修改 composer.json 添加扩展包后,composer update new/package 进行指定扩展包更新的方式,也可以正确的安装,不过不建议使用这种方法,因为,一旦你忘记敲定后面的扩展包名,就会进入万劫不复的状态,别给自己留坑呀。

上面的概念不论对新手或者老手来说,都比较混淆,主要记住这个概念:

原有项目新添加扩展的,都使用 composer require new/package 这种方式来安装。

需要加版本的话

composer require "foo/bar:1.0.0"

更新指定扩展到指定版本

有时候你之前使用过的扩展包,加入了新功能,你想更新单独这个扩展包到指定版本,也可以使用 require 来操作。

如下面例子,需要更新 “sami/sami”: “3.0.” 到 “sami/sami”: “3.2.” 
Utilisez la mise à jour du compositeur avec prudence !

命令行运行: 
Utilisez la mise à jour du compositeur avec prudence ! 

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