Composer (软件)

此条目需要扩充。 (2015年2月24日)请协助改善这篇条目,更进一步的信息可能会在讨论页或扩充请求中找到。请在扩充条目后将此模板移除。
Composer开发者Nils AdermannJordi Boggiano当前版本2.8.10(2025年7月10日;稳定版本)[1]
源代码库github.com/composer/composer
编程语言PHP操作系统Cross-platform类型软件包管理系统许可协议MIT许可证网站getcomposer.org
Composer是PHP的软件包管理系统,它提供用于管理PHP软件和依赖库关系的标准格式,它在单个项目的基础上进行管理,会在单个项目的某个目录(默认是vendor)进行安装。 它由Nils Adermann和Jordi Boggiano开发。 他们于2011年4月开始开发,并于2012年3月1日首次发布第一个版本。[2]Composer 的产生是由于受到了 Node.js 的 npm 以及 Ruby 的 bundler 的启发。[3] 该项目的依赖关系解决算法最初是来自openSUSE的libzypp包管理器。
在中国使用composer的时候,由于网络延迟以及防火长城问题,通常会通过镜像使用,数据的获取,文件的下载通过镜像使用。
使用语法[编辑]
命令[编辑]
Composer 提供了几个参数,包括[4]:
require:向composer.json添加一个依赖库,并且安装它
install:从composer.json安装依赖库,通常在下载一个PHP项目的所有依赖时使用
update:根据composer.json中允许的版本范围更新依赖库
remove:删除一个依赖库,并将其从composer.json中移除
self-update:更新composer自身
依赖库定义[编辑]
composer require monolog/monolog以上命令会在composer.json中生成
{
"require": {
"monolog/monolog": "1.2.*"
}
}
指定版本[编辑]
所安装依赖库的版本可以由以下几种运算符定义:[5]
运算符
作用 (放置在版本号前时)
示例
>=
允许高于此版本的依赖
以此类推,我们可以使用>、<和<=
"php": ">=5.5.9" 包括 PHP 7
!=
排除一个版本的依赖
-
定义一个依赖的范围
||
或运算符,寻找二者中存在的版本
"symfony/symfony": "2.8 ¦¦ 3.0" 将查找该依赖的2.8或3.0版本
*
通配符,允许一切符合要求的子版本
"symfony/symfony": "3.1.*" 包括 3.1.1 版本
~
允许同级别的下一个版本
"doctrine/orm": "~2.5" 包括 2.6,但是不包括 2.4 或 3.0.
^
类似于~,但是只允许向后兼容的版本
支持的框架[编辑]
Symfony ≥ 2
Laravel ≥ 4
CodeIgniter ≥ 3.0
CakePHP ≥ 3.0
FuelPHP ≥ 2.0
Drupal ≥ 8
TYPO3 ≥ 6.2
SilverStripe ≥ 3.0
Magento ≥ 2.0
Yii ≥ 1.1
Zend Framework ≥ 1
Silex
Lumen
注解[编辑]
^ Release 2.8.10. 2025年7月10日 [2025年7月14日].
^ Release 1.0.0-alpha1 · composer/composer. GitHub. [2020-08-06]. (原始内容存档于2019-03-27) (英语).
^ Introduction - Composer. getcomposer.org. [2020-08-06]. (原始内容存档于2018-02-12).
^ Command-line interface / Commands - Composer. getcomposer.org. [2020-08-06]. (原始内容存档于2020-08-04).
^ Versions and constraints - Composer. getcomposer.org. [2020-08-06]. (原始内容存档于2020-09-14).
外部链接[编辑]
官方网站