composer中 lock 和json的区别

说明:项目中存在 composer.json 和 composer.lock 两个文件;(以下内容同样适用于前端nodejs中的json和lock文件)

Composer Install

*注意: composer.lock 文件阻止我们自动将依赖包的版本更新到最新;

当在项目中执行 composer install 执行的是那个文件?

composer.lock

 

当项目中不存在 composer.lock 时,composer install执行的那个文件?

composer.update

 

项目中两个文件的区别?
    1. composer.lock 中记录的是安装的依赖包的确切版本号详情; 例如‘3.2.1‘;
    2. 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"

composer中 lock 和json的区别

上一篇:rancher 导入现有的Kubernetes集群报错Back-off restarting failed container


下一篇:CSS 弹性盒子