安装依赖包

  1. composer install

注意:install 命令将创建一个 composer.lock 文件到你项目的根目录中。
在安装依赖后,Composer 将把安装时确切的版本号列表写入 composer.lock 文件。这将锁定改项目的特定版本。
请提交你应用程序的 composer.lock (包括 composer.json)到你的版本库中
这是非常重要的,因为 install 命令将会检查锁文件是否存在,如果存在,它将下载指定的版本(忽略 composer.json 文件中的定义)。
这意味着,任何人建立项目都将下载与指定版本完全相同的依赖。你的持续集成服务器、生产环境、你团队中的其他开发人员、每件事、每个人都使用相同的依赖,从而减轻潜在的错误对部署的影响。即使你独自开发项目,在六个月内重新安装项目时,你也可以放心的继续工作,即使从那时起你的依赖已经发布了许多新的版本。
如果不存在 composer.lock 文件,Composer 将读取 composer.json 并创建锁文件。
这意味着如果你的依赖更新了新的版本,你将不会获得任何更新。此时要更新你的依赖版本请使用 update 命令。这将获取最新匹配的版本(根据你的 composer.json 文件)并将新版本更新进锁文件。

新增依赖包

  1. composer require endroid/qr-code
  2. # 指定版本
  3. composer require endroid/qr-code 1.9.3

更新依赖包

  1. composer update

如果只想安装或更新一个依赖,你可以白名单它们:

  1. composer update monolog/monolog [...]

注意:慎用composer update

composer update 这个命令在现实逻辑中,可能会对项目造成巨大伤害。
因为 composer update 的逻辑是按照 composer.json 指定的扩展包版本规则,把所有扩展包更新到最新版本,注意,是所有扩展包,举个例子,你在项目一开始的时候使用了 monolog,当时的配置信息是

  1. "monolog/monolog": "1.*",

安装的是 monolog 1.1 版本,而一个多月以后,monolog 已经是 1.2 了,运行命令后直接更新到 1.2,这时项目并没有针对 1.2 进行过测试,项目一下子变得很不稳定,情况有时候会比这个更糟糕,尤其是在一个庞大的项目中,你没有对项目写完整覆盖测试的情况,什么东西坏掉了你都不知道。
所以,请根据以下说明酌情使用:

  1. # 如有 composer.lock 文件,直接安装,否则从 composer.json 安装最新扩展包和依赖;
  2. composer install
  3. # 从 composer.json 安装最新扩展包和依赖;
  4. composer update
  5. # 从 composer.json 或者对应包的配置,并更新到最新;
  6. composer update vendor/package
  7. # 添加安装 new/package, 可以指定版本,如: composer require new/package ~2.5.
  8. # 它会判断包存不存在,不存在就安装,存在就更新;
  9. # 可用作单独更新某个包的指定版本;
  10. composer require new/package

移除依赖包

  1. composer remove monolog/monolog

多个php版本使用composer

下载对应版本的 composer.phar 文件:https://getcomposer.org/download/1.6.5/composer.phar

  1. D:/PHPStudy/Extensions/php/php7.2.9nts/php.exe composer.phar install