执行composer require patronbase/omnipay-redsys依赖不匹配如何解决
依赖冲突原因
该报错的核心是patronbase/omnipay-redsys ^3.1版本要求依赖omnipay/common的dev-address3-support分支,而这个分支已经被omnipay/common官方仓库删除,现有仓库所有版本都无法匹配该约束,导致安装失败。
解决方案
以下方案按优先级排序,可根据自身需求选择:
- 方案1:安装低版本的patronbase/omnipay-redsys
3.0版本无上述特殊分支依赖,兼容性更稳定,直接执行命令即可安装:composer require patronbase/omnipay-redsys "^3.0" - 方案2:添加分支别名强制兼容(仅适用于必须使用3.1版本的场景)
如果你需要使用3.1版本的专属功能,可以在项目根目录的composer.json中添加分支别名配置,将当前可用的omnipay/common版本别名为依赖要求的dev-address3-support:
配置完成后执行{ "require": { // 保留原有其他依赖配置 "omnipay/common": "3.1.x-dev as dev-address3-support", "patronbase/omnipay-redsys": "^3.1" } }composer update更新依赖即可。注意:该方案为临时兼容手段,需要自行测试两个版本的功能兼容性,避免出现逻辑异常 - 方案3:更换维护状态更好的同类包
patronbase/omnipay-redsys已经长期没有维护,才会出现依赖分支已删除的问题,你可以选择其他还在活跃维护的Redsys omnipay实现包,从根源避免后续再出现同类依赖故障。
内容的提问来源于stack exchange,提问作者santiagomgv
相关产品推荐
相关产品推荐

