composer php更新和composer php安装有什么区别?

composer updatecomposer install什么区别?

composer php更新

composer update将更新您的依赖关系,因为它们在composer.json中指定

例如,如果你需要这个包作为依赖:

 "mockery/mockery": "0.9.*", 

而实际上你已经安装了0.9.1版本的软件包,运行composer update会导致这个软件包的升级(例如,如果它已经被释放,则升级到0.9.2

详细composer update将:

  • 阅读composer.json
  • 删除composer.json中不再需要的已安装软件包
  • 检查所需软件包的最新版本的可用性
  • 安装最新版本的软件包
  • 更新composer.lock来存储已安装的软件包版本

composer php安装

composer install不会更新任何东西; 它将只安装在composer.lock文件中指定的所有依赖项

详细:

  • 检查composer.lock文件是否存在(如果不存在,运行composer-update并创build它)
  • 阅读composer.lock文件
  • 安装在composer.lock文件中指定的包

何时安装以及何时更新

  • composer update主要用于“开发阶段”,根据我们在composer.json文件中指定的内容升级我们的项目包,

  • composer install主要用于“部署阶段”,将我们的应用程序安装在生产服务器或testing环境中,使用存储在由composer update创build的composer.lock文件中的相同依赖关系。

当你运行composer php安装时,它会查找locking文件并安装其中包含的任何文件,如果找不到,它将读取composer.json,安装它的依赖关系并生成locking文件。

当你运行composer php更新时,只需读取composer.json,安装依赖关系并更新锁文件(或创build一个新的锁文件)。

运行composer install将:

  • 检查一个composer.lock存在。
  • 如果没有,请执行一个composer update来创build一个。
  • 如果存在composer.lock ,请从locking文件安装指定的版本。

运行composer update将:

  • 检查composer.json
  • 根据您的版本规格确定要安装的最新版本。
  • 安装最新版本。
  • 更新composer.lock以反映已安装的最新版本。

来源: composer php:这是所有关于locking文件