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 install 使用,保证了团队所有协作者开发环境、线上生产环境中运行的代码版本的一致性。

那么,准备添加一个扩展包,install, update, require 三个命令都可以用来安装扩展包,选择哪一个才是正确的呢?
答案是:使用 composer require 命令
另外,在手动修改 composer.json 添加扩展包后,composer update new/package 进行指定扩展包更新的方式,也可以正确的安装,不过不建议使用这种方法,因为,一旦你忘记敲定后面的扩展包名,就会进入万劫不复的状态,别给自己留坑呀。
上面的概念不论对新手或者老手来说,都比较混淆,主要记住这个概念:
原有项目新添加扩展的,都使用
composer require new/package这种方式来安装。
完。
原文:http://www.cnblogs.com/hanyouchun/p/5340452.html