composer 依赖冲突怎么解决

composer 依赖冲突怎么解决,第1张

composer 依赖冲突怎么解决,第2张

项目依赖 packageA 和 packageB 两个第三方包,然后这两个包又依赖另外一个包的不同版本
packageA ->packageC:1.x
packageB ->packageC:2.x
结果自然安装冲突失败 对于这种问题 npm 能解决,composer 似乎无解? PHP 这最好的包管理器就这样??
好奇其他语言的包管理器能解决这种问题吗? ----------------------- 以下是精选回复-----------------------

答:fork 一份 A 或者 B,修改依赖。替换成你 fork 的。
答:其中一个 package 换个可以兼容的版本,可以是 A 升级或 B 降级
答:和 golang 那样处理
答:解决 json 的冲突,保留你想要的版本,干掉文件,重新安装。
答:js 可以 declare 方法,PHP 不行。所以你的想法在 PHP 中是行不通的。
楼上的方法都不错。还有一种就是,可能你引用的类库太老了,居然不更新了,那你最好也别引用了。否则后面的坑可能会更多
答:你不想維護那就給作者發 PR 吧, 作者不理你那就換其他 lib
答:symfony 的做法是在高版本里增加 polyfill 兼容代码,比如你创建个 packageC-polyfill 三方项目,
这个三方项目的作用就是让你的 packageC:2.x 兼容 packageC:1.x,
然后让 packageA 依赖下 packageC:2.x,
以及让 packageC:2.x 依赖你的 packageC-polyfill

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » composer 依赖冲突怎么解决

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情