正确的Composer扩展包安装方法
下面由composer教程栏目给大家介绍正确的 Composer 扩展包安装方法,希望对需要的朋友有所帮助!
问题说明
我们经常要往现有的项目中添加扩展包,有时候因为文档的错误引导,如下图来自 这个文档 的:
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扩展包安装方法. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Apabila membangunkan laman web yang menggunakan CraftCMS, anda sering menghadapi masalah caching fail sumber, terutamanya apabila anda sering mengemas kini fail CSS dan JavaScript, versi lama fail mungkin masih di -cache oleh penyemak imbas, menyebabkan pengguna tidak melihat perubahan terkini dalam masa. Masalah ini bukan sahaja memberi kesan kepada pengalaman pengguna, tetapi juga meningkatkan kesukaran pembangunan dan debugging. Baru-baru ini, saya menghadapi masalah yang sama dalam projek saya, dan selepas beberapa penjelajahan, saya dapati plugin Wiejeben/Craft-Laravel-Mix, yang sempurna menyelesaikan masalah caching saya.

Saya menghadapi masalah yang rumit apabila membangunkan projek Laravel baru: Bagaimana untuk membina Sistem Pengurusan Kandungan (CMS) yang berfungsi sepenuhnya dan mudah diurus. Saya mencuba pelbagai penyelesaian, tetapi semua menyerah kerana konfigurasi kompleks dan penyelenggaraan yang tidak selesa. Sehingga saya menemui pakej LaravelCMS MKI-LABS/Espresso, yang bukan sahaja mudah dipasang, tetapi juga menyediakan fungsi yang kuat dan antara muka pengurusan intuitif, yang sepenuhnya menyelesaikan masalah saya.

Saya menghadapi masalah yang sukar apabila membangunkan aplikasi web yang kompleks: bagaimana untuk mengendalikan kesilapan JavaScript dengan berkesan dan log mereka. Saya mencuba beberapa kaedah, tetapi tiada seorang pun daripada mereka yang dapat memenuhi keperluan saya sehingga saya dapati perpustakaan ini dvasilenko/alterego_tools. Saya dengan mudah menyelesaikan masalah ini melalui pemasangan perpustakaan ini melalui komposer dan meningkatkan daya tahan dan kestabilan projek. Komposer dapat dipelajari melalui alamat berikut: Alamat Pembelajaran

Saya menghadapi masalah yang biasa tetapi rumit apabila membangunkan projek PHP yang besar: bagaimana untuk mengurus dan menyuntik kebergantungan secara berkesan. Pada mulanya, saya cuba menggunakan pembolehubah global dan suntikan manual, tetapi ini bukan sahaja meningkatkan kerumitan kod, ia juga mudah membawa kepada kesilapan. Akhirnya, saya berjaya menyelesaikan masalah ini dengan menggunakan antara muka kontena PSR-11 dan dengan kuasa komposer.

Apabila membangunkan projek rangka kerja YII, anda sering menghadapi situasi di mana anda perlu mendapatkan sejumlah besar data dari pangkalan data. Jika langkah -langkah yang sesuai tidak diambil, secara langsung memperoleh semua data boleh menyebabkan limpahan memori dan mempengaruhi prestasi program. Baru-baru ini, ketika saya berurusan dengan projek di platform e-dagang yang besar, saya menghadapi masalah ini. Selepas beberapa penyelidikan dan percubaan, saya akhirnya menyelesaikan masalah melalui perpustakaan lanjutan Pavle/Yii-batch-result.

Ringkasan Artikel: Artikel ini menyediakan arahan langkah demi langkah terperinci untuk membimbing pembaca tentang cara memasang rangka kerja Laravel dengan mudah. Laravel adalah rangka kerja PHP yang kuat yang mempercepat proses pembangunan aplikasi web. Tutorial ini merangkumi proses pemasangan dari keperluan sistem untuk mengkonfigurasi pangkalan data dan menyediakan penghalaan. Dengan mengikuti langkah -langkah ini, pembaca dapat dengan cepat dan cekap meletakkan asas yang kukuh untuk projek Laravel mereka.

Dalam pembangunan projek, sering diperlukan untuk membuat alat baris arahan untuk memudahkan tugas harian atau mengautomasikan proses. Walau bagaimanapun, mewujudkan antara muka baris arahan yang cantik dan mudah diuji tidak mudah. Baru -baru ini, saya menghadapi masalah ini semasa membangunkan projek yang memerlukan alat baris arahan. Selepas beberapa penjelajahan, saya dapati perpustakaan Symfony/Console, yang sangat memudahkan proses penciptaan antara muka baris perintah.

Apabila membangunkan aplikasi Laravel, saya menghadapi masalah yang sama tetapi sukar: bagaimana untuk meningkatkan keselamatan akaun pengguna. Dengan peningkatan kerumitan serangan siber, perlindungan kata laluan tunggal tidak lagi cukup untuk memastikan keselamatan data pengguna. Saya mencuba beberapa kaedah, tetapi hasilnya tidak memuaskan. Akhirnya, saya memasang perpustakaan Wiebenieuwenhuis/Laravel-2FA melalui komposer dan berjaya menambah pengesahan dua faktor (2FA) ke aplikasi saya, sangat meningkatkan keselamatan.
