最近一次的更新流程:
curl -sS https://getcomposer.org/installer | php (預設下載最新版本)
sudo mv composer.phar /usr/local/bin/composer
composer dump-autoload -o
執行程式報 Class not found 錯誤
Class 'Mws\Laravel\AmazonFeed' not found
以前也執行過 composer dump-autoload -o
,但是程式執行都是正常的。
回顧執行過程發現有以下提示:
關鍵的提示xxx located in xxx does not comply with psr-4 autoloading standard. Skipping.
專案裡部分舊的索引關係被刪除
網上說比較舊的依賴包會有這種情況,比如 autoload_psr4.php
只保留了 'Mws\\Laravel\\' => array($vendorDir . '/tapha/mws-laravel/src')
,但該擴充套件包的類實際目錄為 $vendorDir . '/tapha/mws-laravel/src/Classes'
下載官方的舊版本composer,嘗試解決
可以看到 2020.10 推出了 2.0 版本,而我最後一次更新索引是在 2020.07。
重新執行命令,恢復丟失的索引關係
下載 1.10.x 的 composer.phar
sudo mv composer.phar /usr/local/bin/composer
composer dump-autoload -o
本作品採用《CC 協議》,轉載必須註明作者和本文連結