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

Utilisez la mise à jour du compositeur avec prudence !

Jul 13, 2020 pm 01:28 PM
composer update

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.*",
Copier après la connexion

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

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

更新指定扩展到指定版本

有时候你之前使用过的扩展包,加入了新功能,你想更新单独这个扩展包到指定版本,也可以使用 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 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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Fonctionnalités avancées de Composer : alias, scripts et résolution de conflits Fonctionnalités avancées de Composer : alias, scripts et résolution de conflits Jun 03, 2024 pm 12:37 PM

Composer fournit des fonctionnalités avancées, notamment : 1. Alias : définissez des noms pratiques pour les packages pour référence répétée ; 2. Scripts : exécutez des commandes personnalisées lors de l'installation/mise à jour de packages, utilisées pour créer des tables de base de données ou compiler des ressources ; 3. Résolution de conflits : utilisez des règles de priorité ; , les contraintes de satisfaction et les alias de package résolvent les différentes exigences de plusieurs packages pour la même version de dépendance afin d'éviter les conflits d'installation.

Développement et exploitation agiles de la conteneurisation de microservices PHP Développement et exploitation agiles de la conteneurisation de microservices PHP May 08, 2024 pm 02:21 PM

Réponse : Les microservices PHP sont déployés avec HelmCharts pour un développement agile et conteneurisés avec DockerContainer pour l'isolation et l'évolutivité. Description détaillée : utilisez HelmCharts pour déployer automatiquement des microservices PHP afin de réaliser un développement agile. Les images Docker permettent une itération rapide et un contrôle de version des microservices. Le standard DockerContainer isole les microservices et Kubernetes gère la disponibilité et l'évolutivité des conteneurs. Utilisez Prometheus et Grafana pour surveiller les performances et l'état des microservices, et créer des alarmes et des mécanismes de réparation automatiques.

KDE Plasma 6.1 apporte de nombreuses améliorations au populaire bureau Linux KDE Plasma 6.1 apporte de nombreuses améliorations au populaire bureau Linux Jun 23, 2024 am 07:54 AM

Après plusieurs pré-versions, l'équipe de développement de KDE Plasma a dévoilé le 28 février la version 6.0 de son environnement de bureau pour les systèmes Linux et BSD, utilisant pour la première fois le framework Qt6. KDE Plasma 6.1 est désormais livré avec un certain nombre de nouvelles fonctionnalités

Contrôle de version et collaboration du code PHP Contrôle de version et collaboration du code PHP May 07, 2024 am 08:54 AM

Contrôle de version du code PHP : Il existe deux systèmes de contrôle de version (VCS) couramment utilisés dans le développement PHP : Git : VCS distribué, où les développeurs stockent localement des copies de la base de code pour faciliter la collaboration et le travail hors ligne. Subversion : VCS centralisé, la seule copie de la base de code est stockée sur un serveur central, offrant plus de contrôle. VCS aide les équipes à suivre les modifications, à collaborer et à revenir aux versions antérieures.

Le rôle de PHP CI/CD dans les projets DevOps Le rôle de PHP CI/CD dans les projets DevOps May 08, 2024 pm 09:09 PM

PHPCI/CD est une pratique clé dans les projets DevOps qui automatise les processus de création, de test et de déploiement, améliorant ainsi l'efficacité du développement et la qualité des logiciels. Un pipeline PHPCI/CD typique comprend les étapes suivantes : 1) Intégration continue : chaque fois que le code change, le code est automatiquement construit et testé. 2) Déploiement continu : accélérez la livraison en déployant automatiquement le code testé et intégré dans l'environnement de production. En mettant en œuvre le pipeline PHPCI/CD, vous pouvez augmenter l’efficacité du développement, améliorer la qualité des logiciels, réduire les délais de mise sur le marché et augmenter la fiabilité.

Fitbit Ace LTE reçoit une mise à jour majeure avec de nouveaux jeux, un paiement sans contact et d'autres fonctionnalités Fitbit Ace LTE reçoit une mise à jour majeure avec de nouveaux jeux, un paiement sans contact et d'autres fonctionnalités Aug 08, 2024 pm 09:39 PM

Le Fitbit Ace LTE a été officiellement lancé en mai, mais n'est actuellement disponible qu'aux États-Unis. La montre intelligente est spécifiquement destinée aux enfants, qui peuvent recevoir des récompenses pour leurs jeux grâce à un mode de vie plus actif, tandis que les parents peuvent toujours surveiller leur

Technologie de visualisation de la structure des données PHP Technologie de visualisation de la structure des données PHP May 07, 2024 pm 06:06 PM

Il existe trois technologies principales pour visualiser les structures de données en PHP : Graphviz : un outil open source capable de créer des représentations graphiques telles que des graphiques, des graphiques acycliques dirigés et des arbres de décision. D3.js : bibliothèque JavaScript pour créer des visualisations interactives basées sur les données, générer du HTML et des données à partir de PHP, puis les visualiser côté client à l'aide de D3.js. ASCIIFlow : une bibliothèque pour créer une représentation textuelle de diagrammes de flux de données, adaptée à la visualisation de processus et d'algorithmes.

Comment utiliser PHP CI/CD pour itérer rapidement ? Comment utiliser PHP CI/CD pour itérer rapidement ? May 08, 2024 pm 10:15 PM

Réponse : Utilisez PHPCI/CD pour réaliser une itération rapide, y compris la configuration de pipelines CI/CD, de tests automatisés et de processus de déploiement. Configurer un pipeline CI/CD : sélectionnez un outil CI/CD, configurez le référentiel de code et définissez le pipeline de build. Tests automatisés : rédigez des tests unitaires et d'intégration et utilisez des frameworks de test pour simplifier les tests. Cas pratique : Utilisation de TravisCI : Installez TravisCI, définissez le pipeline, activez le pipeline et visualisez les résultats. Mettez en œuvre la livraison continue : sélectionnez les outils de déploiement, définissez les pipelines de déploiement et automatisez le déploiement. Avantages : améliorez l’efficacité du développement, réduisez les erreurs et raccourcissez les délais de livraison.

See all articles