说明:项目中存在 composer.json 和 composer.lock 两个文件;(以下内容同样适用于前端nodejs中的json和lock文件)
Composer Install
*注意: composer.lock 文件阻止我们自动将依赖包的版本更新到最新;
当在项目中执行 composer install 执行的是那个文件?
composer.lock
当项目中不存在 composer.lock 时,composer install执行的那个文件?
composer.update
项目中两个文件的区别?
- composer.lock 中记录的是安装的依赖包的确切版本号详情; 例如‘3.2.1‘;
- composer.json 中有可能记录的是依赖包的大版本号, 例如 ‘3.2.*‘;
如果当前目录下存在 composer.lock
文件,它会从此文件读取依赖版本,而不是根据 composer.json
文件去获取依赖。这确保了该库的每个使用者都能得到相同的依赖版本。
Composer Update
*注意: composer update 这个命令在我们现在的逻辑中,可能会对项目造成巨大的伤害,他会把项目的所有的依赖包更新到最新的版本,有可能会导致项目的不稳定; 也与可能导致最新的类库和你以前写的东西冲突,导致自己的代码不可用;
为了获取依赖的最新版本,并且升级 composer.lock
文件,你应该使用 update
命令。
composer update
Composer Require
*注意: 在手动修改 composer.json 添加扩展包后,composer update new/package 进行指定扩展包更新的方式,也可以正确的安装,不过不建议使用这种方法,因为,一旦你忘记敲定后面的扩展包名,就会进入万劫不复的状态;
安装依赖:
composer require "foor/bar:1.0.1"