一、Composer是什么?
Composer 是 PHP 的一个依赖管理工具。它允许你申明项目所依赖的代码库,它会在你的项目中为你安装他们。
二、Composer可以解决什么问题?
a) 你有一个项目依赖于若干个库。
b) 其中一些库依赖于其他库。
c) 你声明你所依赖的东西。
d) Composer 会找出哪个版本的包需要安装,并安装它们(将它们下载到你的项目中)。
三、Composer怎么安装?
(1)系统要求
a) 运行 Composer 需要 PHP 5.3.2+ 以上版本。
b)需要开启 openssl 配置,我们打开 php 目录下的 php.ini,将 =extension=php_openssl.dll 前面的分号去掉。
(2)Windows安装
下载可执行exe文件直接安装:
https://getcomposer.org/Composer-Setup.exe
(3)*nix安装
curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer
PS:关于php phar资料可参考官方网站:https://www.php.net/manual/en/book.phar.php
四、怎么配置国内镜像地址或者自定义镜像地址,提升拉取速度?
方式一、修改 composer 的全局配置文件(推荐方式)
composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
方式二、修改当前项目的 composer.json 配置文件
"repositories": [
{
"type": "composer",
"url": "https://mirrors.aliyun.com/composer/"
}
]
更多关键词参考官网:https://docs.phpcomposer.com/04-schema.html
五、如何自定义镜像仓库?
(参考自官网:https://docs.phpcomposer.com/02-libraries.html#Publishing-to-a-VCS , https://docs.phpcomposer.com/05-repositories.html )
方式一、直接使用vcs(版本控制系统)仓库地址(这里以git为例),在项目composer.json中添加:
{ "repositories": [ { "type": "vcs", "url": "https://gitee.com/sindsun/composer.git" } ], "require": { "sindsun/composer": "1.0.*" } }
方式二、使用symfony提供的工具satis构建搭建packgist,并引用到项目中
六、如何更新Composer?
composer selfupdate
七、Composer如何安装依赖?
方式一、在项目的目录下创建一个 composer.json 文件,文件描述了项目的依赖关系,格式如下:
{ "require": { "monolog/monolog": "1.2.*" } }
然后执行安装命令:composer install
方式二、使用 require 命令快速的安装一个依赖而不需要手动在 composer.json 里添加依赖信息
composer require monolog/monolog 1.2.*
八、Composer怎么约束版本?
1、 精确版本
我们可以告诉 Composer 安装的具体版本,例如:1.0.2,指定 1.0.2 版本。
2、 范围
通过使用比较操作符来指定包的范围。这些操作符包括:>,>=,<,<=,!=。
你可以定义多个范围,使用空格或者逗号 , 表示逻辑上的与,使用双竖线 || 表示逻辑上的或。其中与的优先级会大于或。 实例:
>=1.0
>=1.0 <2.0
>=1.0 <1.1 || >=1.2
我们也可以通过使用连字符 - 来指定版本范围。
连字符的左边表明了 >= 的版本,如果右边的版本不是完整的版本号,则会被使用通配符进行补全。例如1.0 - 2.0等同于>=1.0.0 <2.1(2.0相当于2.0.*),而1.0.0 - 2.1.0则等同于>=1.0.0 <=2.1.0。
3、 通配符
可以使用通配符来设置版本。1.0.*相当于>=1.0 <1.1。
例子:1.0.*
4、 波浪号 ~
我们先通过后面这个例子去解释~操作符的用法:~1.2相当于>=1.2 <2.0.0,而~1.2.3相当于>=1.2.3 <1.3.0。对于使用Semantic Versioning(主义化版本号,是一个版本号标准/规则,https://semver.org/)作为版本号标准的项目来说,这种版本约束方式很实用。例如~1.2定义了最小的小版本号,然后你可以升级2.0以下的任何版本而不会出问题,因为按照Semantic Versioning的版本定义,小版本的升级不应该有兼容性的问题。简单来说,~定义了最小的版本,并且允许版本的最后一位版本号进行升级。
5、 折音号 ^
^操作符的行为跟Semantic Versioning有比较大的关联,它允许升级版本到安全的版本。例如,^1.2.3相当于>=1.2.3 <2.0.0,因为在2.0版本前的版本应该都没有兼容性的问题。而对于1.0之前的版本,这种约束方式也考虑到了安全问题,例如^0.3会被当作>=0.3.0 <0.4.0对待。
例子:^1.2.3
6、 版本稳定性
约束 | 内部约束 |
1.2.3 | =1.2.3.0-stable |
>1.2 | >1.2.0.0-stable |
>=1.2 | >=1.2.0.0-dev |
>=1.2-stable | >=1.2.0.0-stable |
<1.3 | <1.3.0.0-dev |
<=1.3 | <=1.3.0.0-stable |
1 - 2 | >=1.0.0.0-dev <3.0.0.0-dev |
~1.3 | >=1.3.0.0-dev <2.0.0.0-dev |
1.4.* | >=1.4.0.0-dev <1.5.0.0-dev |
例子:1.0 - 2.0
如果你想指定版本只要稳定版本,你可以在版本后面添加后缀-stable。
minimum-stability(最小稳定性,https://www.web3.xin/index/article/556.html) 配置项定义了包在选择版本时对稳定性的选择的默认行为。默认是stable。它的值如下(按照稳定性排序):dev,alpha,beta,RC和stable。除了修改这个配置去修改这个默认行为,我们还可以通过稳定性标识(例如@stable和@dev)来安装一个相比于默认配置不同稳定性的版本。例如:
{ "require": { "monolog/monolog": "1.0.*@beta", "acme/foo": "@dev" }}
九、除了上面用到的一些命令,Composer还有拿些常用命令
1、update 命令
update 命令用于更新项目里所有的包,或者指定的某些包。
# 更新所有依赖
$ composer update
# 更新指定的包
$ composer update monolog/monolog
# 更新指定的多个包
$ composer update monolog/monolog symfony/dependency-injection
# 还可以通过通配符匹配包
$ composer update monolog/monolog symfony/*
2、remove 命令
remove 命令用于移除一个包及其依赖(在依赖没有被其他包使用的情况下),如果依赖被其他包使用,则无法移除。
$ composer remove monolog/monolog
3、search 命令
search 命令可以搜索包 (或者到packagist搜索想要的包 https://packagist.org/)
composer search monolog
4、show 命令
show 命令可以列出当前项目使用到包的信息。
# 列出所有已经安装的包
$ composer show
# 可以通过通配符进行筛选
$ composer show monolog/*
# 显示具体某个包的信息
$ composer show monolog/monolog
声明:本资料主要摘自外部网站:
Composer中文网 https://docs.phpcomposer.com/
菜鸟教程 https://www.runoob.com/w3cnote/composer-install-and-usage.html
Packagist https://packagist.org/
版权声明:
此文为本站源创文章[或由本站编辑从网络整理改编],
转载请备注出处:
[狂码一生]
https://www.sindsun.com/articles/8/141
[若此文确切存在侵权,请联系本站管理员进行删除!]
--THE END--