- php项目经常用到composer来管理依赖关系,有时候会遇到如下的错误:
- xxx[0.0.1, ..., v0.0.3] require bbb 0.0.6 -> satisfiable by bbb[0.0.6].
- yyy v0.0.15 requires bbb ^0.0.7 -> satisfiable by bbb[0.0.7].
- zzz v1.0.1 requires xxx 0.* -> satisfiable by xxx[0.0.1, v0.0.2, v0.0.3].
zzz依赖xxx,xxx依赖0.0.6版本的bbb, yyy依赖0.0.7版本的bbb,这时候会有版本冲突。zzz为根项目,此时可以在zzz的composer.json中
"bbb": "^0.0.6"
这样定义一个固定的版本,可以解决A依赖B和D,B和D共同依赖不同版本的C,在A的composer.json中给出一个固定版本的C可以解决版本冲突问题。
- 如果公司有自己的packagist库,有时候在packagist库中找不到依赖,此时可以直接从git仓库拉取,
"repositories": {
"xxx": {
"name": "xxx",
"type": "vcs",
"url": ""
},
"zzz": {
"name": "zzz",
"type": "vcs",
"url": ""
},