我们知道在`laravel`框架有`composer.json`和`composer.lock`
我们又经常使用`composer install`和`composer.update`
那么它们当底有什么用处,又有什么区别
我们在做项目的时候,总是要安装一些依赖。composer给我们提供了很多方便。直接运行`composer install`
当我们运行`composer install `将会读取`composer.lock`文件,进行更新依赖。如果`composer.lock`不存在或者里面没内容,会执行`composer.json`,会将最新版本的文件下载到vendor目录里,然后再去更新composer.lock文件。
我们都会把项目部署到github上,可是,当一个项目需要多人合作的时候,为了让所有人都使用与您正在使用的完全相同的依赖项。因此,为了保证这一点,composer官方是建议把`composer.lock`提交到`git`上。
每当去更新依赖的时候,都是基于composer.lock,去更新的。
注意:
`composer.lock`文件阻止您自动获取最新版本的依赖项。要更新到最新版本,请使用`composer update`命令,但是,一般`不要使用update`命令,因为`update命令`将更新所有的依赖到最新,这个动作是`危险`的,这样很有可能导致,最新类库和你以前写的东西冲突,你以前的代码不可用。