介绍
Composer是PHP的依赖项管理的工具。它允许您声明项目所依赖的库,它将为您管理(安装/更新)它们。
依赖管理
Composer不是与Yum或Apt相同的软件包管理器。它处理“程序包”或库,但它基于每个项目进行管理,将它们安装在项目的vendor目录中。默认情况下,不会全局安装任何内容。为了方便起见,也能通过全局命令支持“全局”项目 。
Composer的设计思想借鉴了Node的npm和ruby的bundler。
系统要求
Composer需要PHP 5.3.2+才能运行。
Composer支持多平台,它在Windows,Linux和macOS上都能很好地运行。
windows上安装
首先下载composer.phar文件,命令行下执行
php -r "copy('http://getcomposer.org/installer', 'composer-setup.php');"
php composer-setup.php
php -r "unlink('composer-setup.php');"
如果被墙,采用socket代理上网的情况,需在命令行下设置代理,然后再尝试
set http_proxy=127.0.0.1:1081
set https_proxy=127.0.0.1:1081
生成 composer.bat文件
echo @php "%~dp0composer.phar" %*>composer.bat
然后把composer.phar 和 composer.bat 两个文件移动到%PATH%目录或者将此目录添加到PATH环境变量中即完成安装。
应用
在项目下目录下建立 composer.json 文件,例如
{
"require": {
"monolog/monolog": "1.0.*"
}
}
然后 运行 composer update,即可更新依赖到指定的最新版本
版本约束规则如下
"require": {
"vendor/package": "1.3.2", // 恰好是 1.3.2
// >, <, >=, <= | 指定上/下边界
"vendor/package": ">=1.3.2", // 任何高于或等于 to 1.3.2
"vendor/package": "<1.3.2", // 任何低于 1.3.2
// * | 通配符
"vendor/package": "1.3.*", // >=1.3.0 <1.4.0
// ~ | 允许指定最后一位数上升
"vendor/package": "~1.3.2", // >=1.3.2 <1.4.0
"vendor/package": "~1.3", // >=1.3.0 <2.0.0
// ^ | 不允许破坏变化(主要版本固定- 跟随semver)
"vendor/package": "^1.3.2", // >=1.3.2 <2.0.0
"vendor/package": "^0.3.2", // >=0.3.2 <0.4.0 // 除非主要版本是0
}
镜像
无法科学上网?可以使用国内阿里镜像
全局配置(推荐)
所有项目都会使用该镜像地址:
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
取消配置:
composer config -g --unset repos.packagist
设置后会更改全局配置文件
C:\Users\用户名\AppData\Roaming\Composer\config.json
也可以设置当前工程配置,仅当前工程可使用该镜像地址:
composer config repo.packagist composer https://mirrors.aliyun.com/composer/
取消配置:
composer config --unset repos.packagist
查看当前的全局配置信息(主要为下面的镜像使用)
composer config -gl
使用其他http协议中国镜像时出现问题关闭https请求
composer config [-g] secure-http false
(-g区分全局和局部)
查找包命令
composer search pack
查看包版本
composer show -all pack
指定包版本安装(三种方式)
composer require xxxx/xxxxx=version
composer require xxxx/xxxx:version
composer require "xxx/xxxx version"