在一个lavarel项目中,在composer中更新后,就一直提示LaravelBatchServiceProvider类找不到。
错误提示如下:
> Illuminate\Foundation\ComposerScripts::postAutoloadDump > @php artisan package:discover --ansi Script @php artisan package:discover --ansi handling the post-autoload-dump event returned with error code 1 In ProviderRepository.php line 208: Class 'Mavinoo\LaravelBatch\LaravelBatchServiceProvider' not found Installation failed, reverting ./composer.json to its original content.
尝试重新安装依赖库
composer install --prefer-dist --no-scripts --no-dev -o
也是同样的错误,查看类库的官方文档:https://packagist.org/packages/mavinoo/laravel-batch 发现相关配置已经变更。
在config/app.php中有两个引用,根据文档中的用法修改相应的配置就可以了。
Mavinoo\LaravelBatch\LaravelBatchServiceProvider::class
改为 Mavinoo\Batch\BatchServiceProvider::class
'Batch' => Mavinoo\LaravelBatch\LaravelBatchFacade::class
改为 'Batch' => Mavinoo\Batch\BatchFacade::class
然后执行composer install 或者composer update就可以了。
还有个退一步的方法,修改composer.json中的配置,锁定版本也可以解决。
"mavinoo/laravel-batch": "^2.0"
改为 "mavinoo/laravel-batch": "2.1.5"