最近在部署服务器环境时,遇到一个由 Composer 版本向下不兼容而引发的问题,记录一下。
问题形容
后盾 Api 利用是用 ThinkPHP6.0
的多利用模式开发的,起初部署时,总是提醒找不到控制器。
过后就比拟郁闷,怎么会找不到控制器呢?这个异样通常只会在没有开启多利用模式时才会呈现,可是明明曾经开启了多利用模式,也装置了相干扩大(Composer 2.0.x 执行 composer install 没有间接抛出异样)。
正当我百思不得其解时,不经意间看到了我目前所应用的 Composer 版本是 2.0.x
。
回头比照了一下我本地的版本:1.8
,Google 一下才发现 Composer 2.0 系列是最近才公布的,于是马上就想到了是否是 Composer 向下不兼容导致。
好家伙,真的是兼容性导致的问题:
解决办法
既然是版本过高导致的兼容性问题,那就好办了,间接升高版本即可。
Composer 降级非常简单,不必从新编译装置,间接应用以下命令即可:
composer self-update 1.8.0
如果你不晓得有哪些版本可抉择,能够查看官网的公布历史。
参考链接
- ThinkPHP V6.0.5 版本公布——兼容 Composer2.0
- Composer 中文文档