基础操作
composer install:根据composer.json文件安装库
执行该命令,会根据composer.json里面的reuqire项安装第三方库{ "require": { "topthink/framework": "5.0.5", } }
composer update:更新库
该命令会根据composer.json配置文件中包依赖以及相应的版本,更新包的版本,但是该命令会将所有的包都更新到最新版本,在实际的项目中需要谨慎使用,尤其是在生产环境上面。
需要注意的时,包能升级的版本会受到版本约束的约束,包不会升级到超出约束的版本的范围。例如如果 composer.json 里包的版本约束为 ^1.10,而最新版本为 2.0。那么 update 命令是不能把包升级到 2.0 版本的,只能最高升级到 1.x 版本。关于版本约束请看后面的介绍。composer require 包名称
安装指定的库,安装完之后,对应的依赖配置会自动添加在composer.json配置文件中。
例如:composer remove topthink/framework
composer remove 包名称
该命令可以移除指定的包依赖,例如:composer remove topthink/framework
composer show
查看已安装的包的信息composer search 包名
查找包composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
替换镜像源-g
:全局替换,如果不用,只设置到当前项目
常见问题
- Composer.json与Composer.lock的区别是什么
Composer版本约束
1.精准版本
明确要安装到那个版本,如需要安装包的版本是1.2.3
composer.json文件设置
"topthink/think-captcha": "v1.2.3"
composer require topthink/think-captcha
2.通配符 *
,星号自带替代的意思
既满足指定范围即可,如下范围在5.0到5.1之间
"topthink/framework": "5.0.*",
3.范围
范围常用的操作符有>,>=,<,<=,!=。你可以定义多个范围,使用空格或者逗号 , 表示逻辑上的与,使用双竖线 || 表示逻辑上的或。其中与的优先级会大于或。
// 表示大于等于0.90并且小于3.0的版本
"ruflin/elastica": ">=0.90 <3.0",
4.波浪符 ~,取波浪线水平之意
该操作符限制最小版本号。
允许表达式中的最后一位版本号达到最大值
如~1.2
与>=1.2 <2.0
相等,~1.5.6
与>=1.5.6 < 1.6.0
相等。也就是主版本号与次版本号保持不变,修复版本号可以达到最大值。
5.折音符 ^,取向上之意
该操作符约束锁定最大版本号。
锁定表达不变的是第一位主版本号,允许升级版本到安全的版本号
如^1.2
就等于>=1.2 <2.0
,^1.2.3
就等于>=1.2.3 < 2.0.0
。
其他注意事项
- 建议升级composer到最新版本
composer self-update