如何在Laravel上自动添加服务提供商?

时间:2015-11-09 15:36:14

标签: laravel laravel-5.1

因此,根据this answer,添加服务提供商的唯一方法是首先运行composer updatecomposer install

这在自动化方面成为一个问题,因为服务提供商已经添加到代码仓库中的config/app.php

'providers' => [
    ....
    App\Providers\RouteServiceProvider::class,

    /** Forum **/
    'Riari\Forum\ForumServiceProvider',
    'Riari\Forum\Frontend\ForumFrontendServiceProvider',

],

所以正在运行composer updatecomposer 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

1 个答案:

答案 0 :(得分:3)

只需使用参数composer install运行您的composer update--no-scripts

composer install --no-scripts
composer update --no-scripts

Laravel会在安装或更新之前运行一些命令,这些命令会使用artisan脚本,因为它会启动Laravel实例,因此会抛出此错误。

在composer运行后,您始终可以手动运行artisan命令(在本例中为php artisan clear-compiled)。