【问题标题】:Can not start laravel after trying to install library尝试安装库后无法启动 laravel
【发布时间】:2016-06-19 21:05:17
【问题描述】:

我在 Laravel 上有网络应用程序,我尝试将 yajra/datatables 更新到最新版本,所以它需要

'Maatwebsite\Excel\ExcelServiceProvider'

我尝试了作曲家更新,但没有帮助。 现在我从composer.json中删除了这一行

但是打电话给php artisan clear-compiled

它显示了一个错误:

PHP 致命错误:在第 575 行的 /var/www/html/talimger.xyz/vendor/laravel/framework/src/Illuminate/Foundation/Application.php 中找不到类“Maatwebsite\Excel\ExcelServiceProvider”

显示我应该在哪里删除这个 Maatwebsite 文件 `

【问题讨论】:

  • 您能否更新您的代码以准确显示'Maatwebsite\Excel\ExcelServiceProvider' 在配置文件中的外观以及您将其放入的配置文件?我也不清楚您从 composer.json 中删除了哪一行?另外,你跑composer dump-autoload了吗?
  • 是的,我做了 composer dump-autoload,所以我也从文件中删除了所有 Maatwebsite\Excel\ExcelServiceProvider。可能是因为 yajra/datatables 库使用 Maatwebsite\Excel?
  • 你说你“从composer.json删除了这一行”,但我还是不明白你在说哪一行。
  • 在“maatwebsite/excel”之前写的require字段中:“~2.1.0”,我删除了它
  • 按照我发布的答案中的说明进行操作,如果您还有其他问题,请在此处发表评论。

标签: laravel composer-php laravel-5.1 packages


【解决方案1】:

https://github.com/Maatwebsite/Laravel-Excel 处的说明告诉您该怎么做,但不告诉您如何做。假设您已经对作曲家有所了解。

这里是“如何做”...

1) 删除您创建的服务提供商条目并删除您添加到 composer 的所有行,然后键入以下内容:

composer require "maatwebsite/excel"

2) 更新 composer 后,将 ServiceProvider 添加到 config/app.php 中的 providers 数组中

Laravel 5.1:

'Maatwebsite\Excel\ExcelServiceProvider',

Laravel 5.2:

Maatwebsite\Excel\ExcelServiceProvider::class,

3) 您可以使用外观来编写更短的代码。将此添加到您的别名中:

Laravel 5.1:

'Excel' => 'Maatwebsite\Excel\Facades\Excel',

Laravel 5.2:

'Excel' => Maatwebsite\Excel\Facades\Excel,::class

【讨论】:

    【解决方案2】:

    从 config 下 app.php 中的 providers 数组中注释掉“Maatwebsite\Excel\ExcelServiceProvider”,然后在完成后运行 composer update 然后取消注释。

    【讨论】:

    • 我做到了,但没有任何改变
    猜你喜欢
    • 1970-01-01
    • 2017-06-16
    • 1970-01-01
    • 1970-01-01
    • 2018-06-29
    • 2020-12-04
    • 2019-03-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多