composer升级提示LaravelBatchServiceProvider类找不到


在一个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"

Archives