cari
Rumahalat pembangunancomposer谨慎使用composer update!

谨慎使用composer update!

Jul 13, 2020 pm 01:28 PM
composerupdate

下面由composer教程栏目给大家介绍关于谨慎使用composer update的问题,希望对需要的朋友有所帮助!

谨慎使用composer update!

问题说明

我们经常要往现有的项目中添加扩展包,有时候因为文档的错误引导,如下图来自 这个文档 的:

file

composer update 这个命令在我们现在的逻辑中,可能会对项目造成巨大伤害。

因为 composer update 的逻辑是按照 composer.json 指定的扩展包版本规则,把所有扩展包更新到最新版本,注意,是 所有扩展包,举个例子,你在项目一开始的时候使用了 monolog,当时的配置信息是

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

安装的是 monolog 1.1 版本,而一个多月以后的现在,monolog 已经是 1.2 了,运行命令后直接更新到 1.2,这时项目并没有针对 1.2 进行过测试,项目一下子变得很不稳定,情况有时候会比这个更糟糕,尤其是在一个庞大的项目中,你没有对项目写完整覆盖测试的情况,什么东西坏掉了你都不知道。

那应该使用哪个命令呢?install, update 还是 require ?

接下来我们一一解释。

简单解释

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.

流程

下来介绍几个日常生产的流程,来方便加深大家的理解。

流程一:新项目流程 
创建 composer.json,并添加依赖到的扩展包; 
运行 composer install,安装扩展包并生成 composer.lock; 
提交 composer.lock 到代码版本控制器中,如:git;

流程二:项目协作者安装现有项目 
克隆项目后,根目录下直接运行 composer install 从 composer.lock 中安装 指定版本 的扩展包以及其依赖;

此流程适用于生产环境代码的部署。

流程三:为项目添加新扩展包

使用 composer require vendor/package 添加扩展包; 
提交更新后的 composer.json 和 composer.lock 到代码版本控制器中,如:git;

关于 composer.lock 文件

composer.lock 文件里保存着对每一个代码依赖的版本记录(见下图),提交到版本控制器中,并配合composer install 使用,保证了团队所有协作者开发环境、线上生产环境中运行的代码版本的一致性。

这里写图片描述

关于扩展包的安装方法

那么,准备添加一个扩展包,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.” 
这里写图片描述

命令行运行: 
这里写图片描述 

Atas ialah kandungan terperinci 谨慎使用composer update!. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan
Artikel ini dikembalikan pada:csdn. Jika ada pelanggaran, sila hubungi admin@php.cn Padam
Keperluan untuk menjadi komposer: menyelam yang mendalamKeperluan untuk menjadi komposer: menyelam yang mendalamMay 03, 2025 am 12:08 AM

Untuk menjadi seorang komposer, anda perlu menguasai teori muzik, prestasi instrumental, akrab dengan gaya muzik dan sejarah, dan menjadi kreatif dan inspirasi. Langkah -langkah khusus termasuk: 1. Belajar teori muzik, seperti struktur kord dan mod irama; 2. Menguasai prestasi alat muzik dan meningkatkan inspirasi kreatif; 3. Berkenaan dengan perisian pengeluaran muzik, seperti AbletonLive, untuk meningkatkan kecekapan kreatif; 4. Amalan dan pelarasan yang berterusan, membuat melodi kompleks dan menggunakan akord yang tidak disengajakan untuk meningkatkan ketegangan muzik.

Komposer: Pengurus Pakej untuk Pemaju PHPKomposer: Pengurus Pakej untuk Pemaju PHPMay 02, 2025 am 12:23 AM

Komposer adalah alat pengurusan ketergantungan untuk PHP, dan menguruskan kebergantungan projek melalui fail komposer.json. 1) parse composer.json untuk mendapatkan maklumat ketergantungan; 2) Mengurangkan kebergantungan untuk membentuk pokok pergantungan; 3) Muat turun dan pasangkan kebergantungan dari Packagist ke Direktori Vendor; 4) Menjana fail komposer.lock untuk mengunci versi ketergantungan untuk memastikan konsistensi pasukan dan kebolehkerjaan projek.

Integrasi AI menjadi komposer: Meneroka PotensiIntegrasi AI menjadi komposer: Meneroka PotensiMay 01, 2025 am 12:02 AM

AI boleh menunjukkan kekuatannya dalam bidang penciptaan muzik. 1) AI menjana muzik melalui pembelajaran mesin dan pembelajaran mendalam, meningkatkan kepelbagaian dan inovasi. 2) Komposer AI boleh membantu komposer dan memberikan inspirasi dan kreativiti. 3) Dalam aplikasi sebenar, prestasi perlu dioptimumkan untuk menyelesaikan masalah koheren dan inovasi dalam penjanaan muzik.

Tujuan komposer: Menguruskan kebergantungan projek dalam phpTujuan komposer: Menguruskan kebergantungan projek dalam phpApr 30, 2025 am 12:01 AM

Kami memerlukan komposer kerana ia dapat menguruskan kebergantungan projek PHP secara berkesan dan mengelakkan kerumitan konflik versi dan pengurusan perpustakaan manual. Komposer mengisytiharkan kebergantungan melalui komposer.json dan menggunakan komposer.lock untuk memastikan konsistensi versi, memudahkan proses pengurusan pergantungan dan meningkatkan kestabilan projek dan kecekapan pembangunan.

Komposer: Membantu pembangunan PHP melalui AIKomposer: Membantu pembangunan PHP melalui AIApr 29, 2025 am 12:27 AM

AI boleh membantu mengoptimumkan penggunaan komposer. Kaedah khusus termasuk: 1. Pengoptimuman Pengurusan Ketergantungan: AI menganalisis kebergantungan, mengesyorkan kombinasi versi terbaik, dan mengurangkan konflik. 2. Generasi Kod Automatik: AI menjana fail komposer.json yang sesuai dengan amalan terbaik. 3. Meningkatkan Kualiti Kod: AI mengesan masalah yang berpotensi, memberikan cadangan pengoptimuman, dan meningkatkan kualiti kod. Kaedah ini dilaksanakan melalui pembelajaran mesin dan teknologi pemprosesan bahasa semulajadi untuk membantu pemaju meningkatkan kecekapan dan kualiti kod.

Menjadi Komposer: Latihan, Pendidikan, dan PengalamanMenjadi Komposer: Latihan, Pendidikan, dan PengalamanApr 28, 2025 am 12:11 AM

Untuk menjadi seorang komposer, anda perlu menguasai teori muzik, harmonisasi, titik balik, dan akrab dengan kemahiran nada dan prestasi instrumen. Komposer menyatakan emosi dan cerita melalui muzik, dan proses kreatif melibatkan pembinaan dan peningkatan idea untuk berfungsi.

Mengenal pasti komposer: unsur pentingMengenal pasti komposer: unsur pentingApr 27, 2025 am 12:27 AM

Langkah -langkah utama untuk mengenal pasti komposer termasuk: 1) menganalisis ciri -ciri gaya komposer, seperti drama dan kuasa Beethoven; 2) memahami latar belakang sejarah dan pengaruh budaya komposer, seperti gaya barok Bach; 3) Secara komprehensif menganalisis melodi, keharmonian, irama dan struktur kerja untuk mengelakkan kesilapan yang disebabkan oleh hanya bergantung pada satu elemen.

Komposer: Masa Depan AI dalam Pembangunan PHPKomposer: Masa Depan AI dalam Pembangunan PHPApr 26, 2025 am 12:10 AM

Komposer'sfutureinphpdevelopmentwithaiincludes: 1) ai-enhanceddependencyManagementemagementforsuggestinglibraries, 2) ai-drivencodegenerationfortailoredboilerplate, dan3) predictivememointshureForupdateSandPatches, tetapifaceschallengeslikeslikeslikeslikeslikeslikeslikeslikeslikeslikeslikeslikeslikeslikeslikeslikeslikeslik.

See all articles

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Penyesuai Pelayan SAP NetWeaver untuk Eclipse

Penyesuai Pelayan SAP NetWeaver untuk Eclipse

Integrasikan Eclipse dengan pelayan aplikasi SAP NetWeaver.

MinGW - GNU Minimalis untuk Windows

MinGW - GNU Minimalis untuk Windows

Projek ini dalam proses untuk dipindahkan ke osdn.net/projects/mingw, anda boleh terus mengikuti kami di sana. MinGW: Port Windows asli bagi GNU Compiler Collection (GCC), perpustakaan import yang boleh diedarkan secara bebas dan fail pengepala untuk membina aplikasi Windows asli termasuk sambungan kepada masa jalan MSVC untuk menyokong fungsi C99. Semua perisian MinGW boleh dijalankan pada platform Windows 64-bit.

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

Dreamweaver Mac版

Dreamweaver Mac版

Alat pembangunan web visual