所以根据this answer添加服务提供者的唯一方法是首先运行 composer update
和 composer install
。
这在自动化方面成为一个问题,因为服务提供者已经添加到代码存储库中的 config/app.php
中。
'providers' => [
....
App\Providers\RouteServiceProvider::class,
/** Forum **/
'Riari\Forum\ForumServiceProvider',
'Riari\Forum\Frontend\ForumFrontendServiceProvider',
],
因此运行 composer update
和 composer install
失败并显示:
[RuntimeException] Error Output: PHP Fatal error: Class 'Riari\Forum\Frontend\ForumFrontendServiceProvider' not found in /repo/myshares/myshares/bootstrap/cache/compiled.php on line 6892
据我所知,唯一的方法是先运行composer update
,然后手动添加到config/app.php
最佳答案
只需使用参数--no-scripts
运行composer install
或composer update
即可。
composer install --no-scripts
composer update --no-scripts
Laravel 将在安装或更新之前运行一些命令,这些命令使用 artisan
脚本,该脚本会向您抛出此错误,因为它启动了一个 Laravel 实例。
Composer 运行后,您始终可以手动运行 artisan 命令(在本例中为 php artisan clear-compiled
)。
关于laravel - 如何在 Laravel 上自动添加服务提供商?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33612653/