问题描述
在yii2项目中,使用require命令安装依赖时,出现如下错误提示
该提示意思是:composer运行时,执行了yiisoft/yii2-composer目录下的插件,但是该插件使用的API版本是1.0,但是当前的cmposer版本提供的API接口版本是2.2.0,导致该插件无法正常执行。建议使用composer update --no-plugins 命令,把插件相关的组件升级到最新版本,让插件依赖的API版本升级到2.0以上
解决过程1
按照提示执行了composer update --no-plugins 命令后,出现如下情况
要求输入你的github账号中的token,用来下载一些github上的资源,并且很多资源会下载失败,而且需要等待的时间很长。
而且,composer update命令是严禁随意使用的,因为它会更新全部组件到最近版本,很容易导致代码的不兼容,所以该方法不可行
解决过程2
既然无法升级插件的版本,那么我们就降低composer的版本到2.0以下。但是composer版本降低后,又出现了如下异常
阿里云镜像不在支持composer2以下的访问,更改为腾讯云镜像后,问题得到解决
解决过程3
过程2虽然解决了问题,但是不稳定。所以我们还是要研究下如何升级插件依赖版本的问题。
过程1中想要通过更新全部依赖来升级yii2框架的版本,但是因为升级的相关组件太多导致失败。其实我们只需要升级yii2框架相关的组件即可,可执行如下命令
composer update yiisoft/yii2 yiisoft/yii2-composer bower-asset/jquery.inputmask --no-plugins
–no-plugins表示:本条命令执行时,禁用所有插件