Composer 是 PHP 的一个依赖管理工具。

composer方文档:
https://docs.phpcomposer.com/04-schema.html
https://docs.phpcomposer.com/01-basic-usage.html

composer.phar就是composer命令的文件,放到/usr/local/bin/的目录下,并改名成composer
安装教程: https://www.runoob.com/w3cnote/composer-install-and-usage.html

命令

// 查看composer版本号
composer -V

install

// 安装依赖包
composer install
如果当前目录下存在 composer.lock 文件,它会从此文件读取依赖版本, 这确保了该库的每个使用者都能得到相同的依赖版本。
如果不存在lock文件, 从当前目录读取 composer.json 文件,处理了依赖关系,并把其安装到 vendor 目录下。

require

// 也可以使用 require 命令快速的安装一个依赖而不需要手动在 composer.json 里添加依赖信息
composer require monolog/monolog

update

// 更新composer
// 更新所有依赖 为了获取依赖的最新版本,并将确切的版本号写入 composer.lock。
composer update
// 更新指定的包
composer update monolog/monolog
// 更新指定的多个包
composer update monolog/monolog symfony/dependency-injection
// 还可以通过通配符匹配包
composer update monolog/monolog symfony/

// remove命令用于移除一个包及其依赖(在依赖没有被其他包使用的情况下),如果依赖被其他包使用,则无法移除
composer remove monolog/monolog

// search命令可以搜索包,该命令会输出包及其描述信息
composer search monolog
// 如果只想输出包名可以使用 —only-name 参数
composer search —only-name monolog

// 列出所有已经安装的包
composer show
// 可以通过通配符进行筛选
composer show monolog/

// 显示具体某个包的信息
composer show monolog/monolog

composer.json和composer.lock到底是什么

直接运行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命令将更新所有的依赖到最新,这个动作是危险的,这样很有可能导致,最新类库和你以前写的东西冲突,你以前的代码不可用。