#最近在部署伺服器環境時,遇到一個由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
如果你不知道有哪些版本可選擇,可以查看官方的發布歷史記錄。