【问题标题】:Composer install --optimize-autoloader on production throws Service Provider not foundComposer install --optimize-autoloader on production throws Service Provider not found
【发布时间】:2018-05-01 18:27:25
【问题描述】:

我正在使用 Laravel 5.5 开发一个应用程序

我在开发环境中所做的没有错误:

  1. 运行composer require spatie/laravel-permission
  2. config/app.php:'providers' => [Spatie\Permission\PermissionServiceProvider::class,];中添加了这个服务提供者

如果我在安装 spatie/laravel-permission 之前注册了服务提供者,那么我想我会收到错误“服务提供者”未找到。这就是生产中发生的情况,因为在我将其部署到生产后,该应用程序已经注册了服务提供程序,因此在运行 composer install --optimize-autoloader 时部署失败并抛出以下错误消息:

[Symfony\\\\Component\\\\Debug\\\\Exception\\\\FatalThrowableError]        
Class 'Spatie\\\\Permission\\\\PermissionServiceProvider' not found

如何避免这个错误?

【问题讨论】:

    标签: laravel-5 deployment composer-php


    【解决方案1】:

    他们已经在 Composer 中添加了自动加载 ServiceProvider。您实际上不需要将其添加到您的 config/app.php 文件中

    见:https://github.com/spatie/laravel-permission/blob/master/composer.json

    【讨论】:

    • 好的,谢谢。还有一件事,如果我使用早于 5.4 的 Laravel,这需要您将服务提供者添加到 config/app.php 文件中怎么办?部署应用时出现Service Provider not found问题如何解决?
    猜你喜欢
    • 2019-11-18
    • 1970-01-01
    • 2013-11-11
    • 1970-01-01
    • 1970-01-01
    • 2017-02-23
    • 2014-09-29
    • 1970-01-01
    • 2011-12-04
    相关资源
    最近更新 更多