未找到 Envoy 提升类“Barryvdh\Debugbar\ServiceProvider”?

mst*_*std 2 laravel-5

在生产服务器上与 laravel 5.7 中的 envoy 一起工作,我使用 --no-dev 键运行作曲家:

@task( 'composer', ['on'=>$on] )
    cd {{ $release_number }}

    composer install --no-interaction --no-dev --prefer-dist
Run Code Online (Sandbox Code Playgroud)

因为我不需要生产的开发部分。

但我在特使输出中看到错误:

lardeployer@NN.NNN.N.NN]: > @php artisan package:discover
[lardeployer@NN.NNN.N.NN]: In ProviderRepository.php line 208:
[lardeployer@NN.NNN.N.NN]: Class 'Barryvdh\Debugbar\ServiceProvider' not found
[lardeployer@NN.NNN.N.NN]: Script @php artisan package:discover handling the post-autoload-dump event returned with error code 1
Run Code Online (Sandbox Code Playgroud)

在我的 config/app.php 文件中,我看到:

   'providers' => [
        ...
        Barryvdh\Debugbar\ServiceProvider::class,
Run Code Online (Sandbox Code Playgroud)

我认为这个定义引起了错误。如何解决?

谢谢!

Tha*_*mer 7

你不应该把 Barryvdh\Debugbar\ServiceProvider::class在中config/app.php文件。

作为中提到的 包doc Barryvdh这里

Laravel 5.5 使用包自动发现,因此不需要您手动添加 ServiceProvider。

在这种情况下,您不需要将服务提供者放在config/app.php文件中,因为如安装说明中所述:

当 APP_DEBUG 为真时,将启用调试栏。

你可以APP_DEBUG.env文件中找到。


小智 7

进入该boostrap/cache文件夹并删除其中包含的所有文件。删除后运行命令:

php artisan package:discover
Run Code Online (Sandbox Code Playgroud)