使用 Composer 安装Laravel扩展包的几种方法

时间:2021-04-09 17:11:44

使用 Composer 安装Laravel扩展包的几种方法

以下的三种方法都是需要你在项目的根目录运行

第一种:composer install

如有 composer.lock 文件,直接安装,否则从 composer.json 安装最新扩展包和依赖;

第二种:composer update

composer update 的逻辑是按照 composer.json 指定的扩展包版本规则,把所有扩展包更新到最新版本,注意,是 所有扩展包,举个例子,你在项目一开始的时候使用了laravelcollective/html,当时的配置信息安装的是 5.2 版本,而一个多月以后的现在,laravelcollective/html 已经是 5.5 了,运行命令后直接更新到 5.5,这时项目并没有针对 5.5 进行过测试,项目一下子变得很不稳定,情况有时候会比这个更糟糕,尤其是在一个庞大的项目中,你没有对项目写完整覆盖测试的情况,什么东西坏掉了你都不知道,因为 * 是代表所有,代表更新最新的版本。

"laravelcollective/html": "5.2.*",
"maatwebsite/excel": "~2.0.0"

第三种:composer require

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

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

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

更新指定扩展到指定版本

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

例如:我想把 laravelcollective/html": "5.2.*" 更新到 5.3 的版本

composer require "laravelcollective/html": "5.3.*"

这时 composer.js 文件中的 laravelcollective/html 就已经被自动更新了

关于 composer.lock 文件

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

使用 Composer 安装Laravel扩展包的几种方法