Laravel8安装designmynight/laravel-mongodb-passport依赖冲突问题咨询
问题原因
designmynight/laravel-mongodb-passport 官方正式版最高为v2.0.1,依赖illuminate/support:^5.5 || ^6.0,和Laravel 8自带的illuminate/support:^8.69版本约束直接冲突。
*注:--ignore-platform-reqs参数仅能忽略PHP版本、系统扩展等平台层面的约束,无法解决不同包之间的版本依赖冲突,因此这类场景下添加该参数无效。
解决方案
- 方案1:使用社区适配的兼容版本
直接安装原扩展的分支维护版yadahan/laravel-mongodb-passport,该包完全兼容原包的API逻辑,已适配Laravel 7/8/9全版本,执行以下命令即可安装:composer require yadahan/laravel-mongodb-passport - 方案2:自行修改原包依赖(适合有自定义需求的场景)
如果必须使用designmynight官方源码,可按以下步骤操作:- Fork原扩展的代码仓库到自己的账号下
- 修改仓库根目录composer.json的require配置,将
"illuminate/support": "^5.5 || ^6.0"调整为"illuminate/support": "^5.5 || ^6.0 || ^8.0" - 在项目的composer.json中添加你fork后的仓库作为私有源
- 重新执行安装命令即可,安装前需自行测试源码在Laravel 8下的功能兼容性,避免出现异常。
- 方案3:降级Laravel版本(不推荐)
如果业务允许变更项目框架版本,可将Laravel版本降级到6.x,即可直接安装官方原版扩展。
内容的提问来源于stack exchange,提问作者falcon jerome
相关产品推荐
相关产品推荐

