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

标签 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

最佳答案

只需使用参数--no-scripts运行composer installcomposer 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/

相关文章:

php - 在 Laravel 中保存模型时直接设置 ID 和设置 Eloquent 关联关系的区别?

laravel - 包含 Vue.js v-if 和 v-for 指令的 HTML 标签在加载时闪烁

php - Laravel PayPal 支付包

postman 没有得到 Json View

php - 在中间件之后执行服务提供者

Laravel where()vs whereLoose()方法

javascript - Laravel yajra/Datatables 操作删除不起作用

php - cellmap中找不到Frame的解决方法

laravel - 如何将值从数据透视字段复制到实际表 Laravel(图像将有更多解释)

javascript - 从 Laravel 5.1 中的 sessionStorage 获取值(value)