Class 'Maatwebsite\\Excel\\ExcelServiceProvider' not found - Laravel 4.2

https://stackoverflow.com/questions/54083863/class-maatwebsite-excel-excelserviceprovider-not-found-laravel-4-2

 

 

 

Asked 1 year, 6 months ago
Viewed 9k times
2

I'm using Laravel 4.2, after running php artisan migrate I got

PHP Fatal error:  Class 'Maatwebsite\Excel\ExcelServiceProvider' not found in /home/forge/site/distributor-portal/vendor/laravel/framework/src/Illuminate/Foundation/ProviderRepository.php on line 157
PHP Stack trace:
PHP   1. {main}() /home/forge/site/distributor-portal/artisan:0
PHP   2. require_once() /home/forge/site/distributor-portal/artisan:30
PHP   3. require() /home/forge/site/distributor-portal/bootstrap/start.php:68
PHP   4. Illuminate\Foundation\ProviderRepository->load() /home/forge/site/distributor-portal/vendor/laravel/framework/src/Illuminate/Foundation/start.php:210
PHP   5. Illuminate\Foundation\ProviderRepository->compileManifest() /home/forge/site/distributor-portal/vendor/laravel/framework/src/Illuminate/Foundation/ProviderRepository.php:57
PHP   6. Illuminate\Foundation\ProviderRepository->createProvider() /home/forge/site/distributor-portal/vendor/laravel/framework/src/Illuminate/Foundation/ProviderRepository.php:121
{"error":{"type":"Symfony\\Component\\Debug\\Exception\\FatalErrorException","message":"Class 'Maatwebsite\\Excel\\ExcelServiceProvider' not found","file":"\/home\/forge\/site\/distributor-portal\/vendor\/laravel\/framework\/src\/Illuminate\/Foundation\/ProviderRepository.php","line":157}}

This is what I have in composer.json

"maatwebsite/excel": "~1.3"

I am running on PHP 5.6.

Maatwebsite\Excel\ExcelServiceProvider

How do I avoid this ? Is this something that I did in one of my migration files ?

share  improve this question   

2 Answers

3
 

For Laravel 4

Add this line to composer.json

"maatwebsite/excel": "~1.3",

After changes in composer.json then run composer update

Add the ServiceProvider to the providers array in config/app.php like:

'Maatwebsite\Excel\ExcelServiceProvider',

Add also in alias like:

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

Publish config file:

php artisan config:publish maatwebsite/excel
// The config files can now be found at app/config/packages/maatwebsite/excel

For Laravel 5

This will download the package and PhpSpreadsheet.just run at a command prompt:

composer require maatwebsite/excel

The Maatwebsite\Excel\ExcelServiceProvider is auto-discovered and registered by default, but if you want to register it yourself:

Add the ServiceProvider and Facade in config/app.php

'providers' => [
    Maatwebsite\Excel\ExcelServiceProvider::class,
],
'aliases' => [
    'Excel' => Maatwebsite\Excel\Facades\Excel::class,
]

To publish the config, run the vendor publish command:php artisan vendor:publish This will create a new config file named config/excel.php

share  improve this answer   
1
 

Make sure you publish after following these steps

1) add this line to composer.json

"maatwebsite/excel": "~2.1.0",

then run

composer update

2) After updating composer, add the ServiceProvider to the providers array in app/config/app.php like 'Maatwebsite\Excel\ExcelServiceProvider',

and alias like so

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

3) And finally, publish for Laravel 5

`php artisan vendor:publish`

php artisan config:publish maatwebsite/excel for Laravel 4

I hope it helps you.!

posted @ 2020-07-07 15:43  谢其江  阅读(2951)  评论(0编辑  收藏  举报