Обновление Laravel 5.2 – класс AuthServiceProvider не найден

В настоящее время я провожу время, чтобы обновить свой проект от Laravel 4.2 до Laravel 5.2.

После многих неприятностей мне удалось получить версию 5.1 правильно, поэтому я начал процедуру 5.1 до 5.2, как описано в официальных документах: https://laravel.com/docs/5.2/upgrade#upgrade-5.2.0

После первого шага мой composer.json выглядит так:

"require": { "laravel/framework": "5.2.*", "illuminate/html": "5.*", "andywer/js-localization": "dev-laravel-5", "laracasts/flash" : "~1.0" }, "require-dev": { "phpunit/phpunit": "~4.0", "phpspec/phpspec": "~2.1", "symfony/dom-crawler": "~3.0", "symfony/css-selector": "~3.0" }, "autoload": { "classmap": [ "database", "app/Models", "app/Http/Controllers" ], "psr-4": { "App\\": "app/" } }, "autoload-dev": { "classmap": [ "tests/TestCase.php" ] }, 

Я также обновил конфигурацию app.php, чтобы удалить ArtisanServiceProvider и ControllerServiceProvider в разделе поставщиков.

Моя конфигурация app.php выглядит так:

 /* |-------------------------------------------------------------------------- | Autoloaded Service Providers |-------------------------------------------------------------------------- | | The service providers listed here will be automatically loaded on the | request to your application. Feel free to add your own services to | this array to grant expanded functionality to your applications. | */ 'providers' => array( /* * Laravel Framework Service Providers... */ 'Illuminate\Auth\AuthServiceProvider', 'Illuminate\Broadcasting\BroadcastServiceProvider', 'Illuminate\Bus\BusServiceProvider', 'Illuminate\Cache\CacheServiceProvider', 'Illuminate\Foundation\Providers\ConsoleSupportServiceProvider', 'Illuminate\Cookie\CookieServiceProvider', 'Illuminate\Database\DatabaseServiceProvider', 'Illuminate\Encryption\EncryptionServiceProvider', 'Illuminate\Filesystem\FilesystemServiceProvider', 'Illuminate\Foundation\Providers\FoundationServiceProvider', 'Illuminate\Hashing\HashServiceProvider', 'Illuminate\Mail\MailServiceProvider', 'Illuminate\Pagination\PaginationServiceProvider', 'Illuminate\Pipeline\PipelineServiceProvider', 'Illuminate\Queue\QueueServiceProvider', 'Illuminate\Redis\RedisServiceProvider', 'Illuminate\Auth\Passwords\PasswordResetServiceProvider', 'Illuminate\Session\SessionServiceProvider', 'Illuminate\Translation\TranslationServiceProvider', 'Illuminate\Validation\ValidationServiceProvider', 'Illuminate\View\ViewServiceProvider', /* * Application Service Providers... */ 'App\Providers\AppServiceProvider', 'App\Providers\AuthServiceProvider', 'App\Providers\EventServiceProvider', 'App\Providers\RouteServiceProvider', // LIBS TIERCE JsLocalization\JsLocalizationServiceProvider::class, 'Laracasts\Flash\FlashServiceProvider', ), /* |-------------------------------------------------------------------------- | Service Provider Manifest |-------------------------------------------------------------------------- | | The service provider manifest is used by Laravel to lazy load service | providers which are not needed for each request, as well to keep a | list of all of the services. Here, you may set its storage spot. | */ 'manifest' => storage_path().'/meta', /* |-------------------------------------------------------------------------- | Class Aliases |-------------------------------------------------------------------------- | | This array of class aliases will be registered when this application | is started. However, feel free to register as many as you wish as | the aliases are "lazy" loaded so they don't hinder performance. | */ 'aliases' => array( 'App' => Illuminate\Support\Facades\App::class, 'Artisan' => Illuminate\Support\Facades\Artisan::class, 'Auth' => Illuminate\Support\Facades\Auth::class, 'Blade' => Illuminate\Support\Facades\Blade::class, 'Cache' => Illuminate\Support\Facades\Cache::class, 'Config' => Illuminate\Support\Facades\Config::class, 'Cookie' => Illuminate\Support\Facades\Cookie::class, 'Crypt' => Illuminate\Support\Facades\Crypt::class, 'DB' => Illuminate\Support\Facades\DB::class, 'Eloquent' => Illuminate\Database\Eloquent\Model::class, 'Event' => Illuminate\Support\Facades\Event::class, 'File' => Illuminate\Support\Facades\File::class, 'Gate' => Illuminate\Support\Facades\Gate::class, 'Hash' => Illuminate\Support\Facades\Hash::class, 'Lang' => Illuminate\Support\Facades\Lang::class, 'Log' => Illuminate\Support\Facades\Log::class, 'Mail' => Illuminate\Support\Facades\Mail::class, 'Password' => Illuminate\Support\Facades\Password::class, 'Queue' => Illuminate\Support\Facades\Queue::class, 'Redirect' => Illuminate\Support\Facades\Redirect::class, 'Redis' => Illuminate\Support\Facades\Redis::class, 'Request' => Illuminate\Support\Facades\Request::class, 'Response' => Illuminate\Support\Facades\Response::class, 'Route' => Illuminate\Support\Facades\Route::class, 'Schema' => Illuminate\Support\Facades\Schema::class, 'Session' => Illuminate\Support\Facades\Session::class, 'Storage' => Illuminate\Support\Facades\Storage::class, 'URL' => Illuminate\Support\Facades\URL::class, 'Validator' => Illuminate\Support\Facades\Validator::class, 'View' => Illuminate\Support\Facades\View::class, 'Form' => 'Illuminate\Html\FormFacade', 'HTML' => 'Illuminate\Html\HtmlFacade', // FAÇADES TIERCES 'Flash' => 'Laracasts\Flash\Flash' ), 

Конечно, я очистил кеш конфигурации в bootstrap / cache, и я попробовал все, что мог, чтобы он работал, но каждый раз, когда я запускаю composer update я получаю эту ошибку сейчас:

 > php artisan clear-compiled [Symfony\Component\Debug\Exception\FatalErrorException] Class 'App\Providers\AuthServiceProvider' not found Script php artisan clear-compiled handling the post-update-cmd event returned with an error [RuntimeException] Error Output: 

хуже этого, я не могу запустить какую-либо команду artisan или страницы моего приложения. Я все время получаю эту ошибку каждый раз, когда я запускаю php в этом проекте!

Это некоторые шаги, которые я пробовал:

  • Удалите все кеши, включая кеш конфигурации и services.json (невозможно восстановить их из-за ошибки в командах мастеров)
  • удалить папку поставщика и повторно запустить обновление для композитора
  • удалите 'Illuminate\Auth\AuthServiceProvider', строка из app.php config

Ничего из этого не сработало, и у меня заканчиваются новые идеи. Я прочитал и перечитал руководство по обновлению официальных документов, и ничто, похоже, не связано с этой проблемой …

Я все еще борюсь со всей этой вещи psr-4 / namespace в Laravel, и я чувствую, что это может быть вызвано чем-то вроде этого, но не может понять, что именно …

У вас есть этот поставщик услуг на месте App \ Providers \ AuthServiceProvider в папке / app / Providers

Если не скопировать его здесь и исправить пространство имен

https://github.com/laravel/laravel/blob/master/app/Providers/AuthServiceProvider.php

Обновить

  'Form' => 'Illuminate\Html\FormFacade', 'HTML' => 'Illuminate\Html\HtmlFacade', // FAÇADES TIERCES 'Flash' => 'Laracasts\Flash\Flash' 

Я думаю, что эти проблемы вызывают проблемы, попробуйте запустить их без них и проверьте, совместимы ли эти пакеты с 5.2. Я также думаю, что компонент Html был удален из 5. * они должны поддерживаться коллективным, поэтому вам нужно будет добавить следующее, а не Illuminate

 'Form' => 'Collective\Html\FormFacade', 'Html' => 'Collective\Html\HtmlFacade', 

Посетите коллективы Laravel для получения дополнительной информации