在生产服务器上的laravel 5.7中使用envoy,我使用--no-dev键运行composer:
@task( 'composer', ['on'=>$on] )
cd {{ $release_number }}
composer install --no-interaction --no-dev --prefer-dist
因为我不需要开发人员参与生产。
但是我在使节输出中看到错误:
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
在我的config / app.php文件中,我看到了:
'providers' => [
...
Barryvdh\Debugbar\ServiceProvider::class,
我认为这个定义引起了错误。 如何解决?
谢谢!
答案 0 :(得分:1)
您不应将Barryvdh\Debugbar\ServiceProvider::class
放在config/app.php
文件中。
Laravel 5.5使用软件包自动发现,因此不需要您 手动添加ServiceProvider。
在这种情况下,您不需要将服务提供程序放在config/app.php
文件中,因为如安装说明中所述:
当APP_DEBUG为true时,调试栏将启用。
您可以在APP_DEBUG
文件中找到.env
。
答案 1 :(得分:1)
输入boostrap/cache
文件夹并删除其中包含的所有文件。删除后,运行命令:
php artisan package:discover