乐趣区

关于php框架:composer-包冲突处理

PHP 我的项目中须要获取天气信息

网上查了下,决定应用 https://github.com/overtrue/weather 这个组件

我的项目根目前执行上面命令

composer require overtrue/weather -vvv

报抵触问题

解决方案

1:剖析抵触产生起因

执行命令

composer depends guzzlehttp/guzzle

发现我的项目自身依赖这个包,剖析代码发现这里的代码其实曾经作废了,执行上面命令移除旧的包而后重新安装即可

composer remove guzzlehttp/guzzle
composer require overtrue/weather -vvv

顺次执行后胜利装置 overtrue/weather

2: fork 仓库到 composer 公有仓库

大略思路:fork 后人工更新依赖到 7.x 版本 而后通过公有 composer 仓库装置依赖即可

3:Composer 的 replace 属性

没有应用过,参考 这里

总结

遇到 composer 依赖抵触问题,优先应用计划一,剖析依赖抵触产生的起因,如果是一些旧代码废除的依赖能够间接 remove 在重新安装新依赖。如果这个办法不行,能够采取计划 2 或者计划 3 解决

退出移动版