Есть ли способ разрешить класс, не найденный в container.php Laravel?
Я планирую обновить свой собственный laravel с 5.1 до 6.0, однако, как предлагает laravel, это должно быть шаг за шагом. В одном из пакетов есть пакет oauth2 под названием lucadegaspery, и, как предлагает автор версии более чем 5.2, этот пакет несовместим. Теперь, когда я прогрессировал, проблема сохраняется, что этот пакет необходимо учитывать, когда я хочу сделатьphp artisan route:list
например. это вызовет эту ошибку
C:\xampp\htdocs\paperinvoicer\core>php artisan route:list
PHP Fatal error: Uncaught ReflectionException: Class LucaDegasperi\OAuth2Server\Authorizer does not exist in C:\xampp\htdocs\paperinvoicer\core\vendor\laravel\framework\src\Illuminate\Container\Container.php:809
Stack trace:
#0 C:\xampp\htdocs\paperinvoicer\core\vendor\laravel\framework\src\Illuminate\Container\Container.php(809): ReflectionParameter->getClass()
#1 C:\xampp\htdocs\paperinvoicer\core\vendor\laravel\framework\src\Illuminate\Container\Container.php(789): Illuminate\Container\Container->getDependencies(Array, Array)
#2 C:\xampp\htdocs\paperinvoicer\core\vendor\laravel\framework\src\Illuminate\Container\Container.php(644): Illuminate\Container\Container->build('App\\Exceptions\\...', Array)
#3 C:\xampp\htdocs\paperinvoicer\core\vendor\laravel\framework\src\Illuminate\Foundation\Application.php(709): Illuminate\Container\Container->make('App\\Exceptions\\...', Array)
#4 C:\xampp\htdocs\paperinvoicer\core\vendor\laravel\framework\src\Illuminate\Container\Container.php(231): Illuminate\Foundation\Application->make('A in C:\xampp\htdocs\paperinvoicer\core\vendor\laravel\framework\src\Illuminate\Container\Container.php on line 809
PHP Fatal error: Uncaught ReflectionException: Class LucaDegasperi\OAuth2Server\Authorizer does not exist in C:\xampp\htdocs\paperinvoicer\core\vendor\laravel\framework\src\Illuminate\Container\Container.php:809
Stack trace:
#0 C:\xampp\htdocs\paperinvoicer\core\vendor\laravel\framework\src\Illuminate\Container\Container.php(809): ReflectionParameter->getClass()
#1 C:\xampp\htdocs\paperinvoicer\core\vendor\laravel\framework\src\Illuminate\Container\Container.php(789): Illuminate\Container\Container->getDependencies(Array, Array)
#2 C:\xampp\htdocs\paperinvoicer\core\vendor\laravel\framework\src\Illuminate\Container\Container.php(644): Illuminate\Container\Container->build('App\\Exceptions\\...', Array)
#3 C:\xampp\htdocs\paperinvoicer\core\vendor\laravel\framework\src\Illuminate\Foundation\Application.php(709): Illuminate\Container\Container->make('App\\Exceptions\\...', Array)
#4 C:\xampp\htdocs\paperinvoicer\core\vendor\laravel\framework\src\Illuminate\Container\Container.php(231): Illuminate\Foundation\Application->make('A in C:\xampp\htdocs\paperinvoicer\core\vendor\laravel\framework\src\Illuminate\Container\Container.php on line 809
Кроме того, я удалил пакет, потому что он снова не поддерживает версию более 5.2
Я провел исследование, у меня был более 1 дня для решения этой проблемы, но мне не повезло, включая попытку удалить все Use (this package)
не повезло, раньше я удалил Use (this package)
в каждом промежуточном программном обеспечении тоже не повезло
вот мой composer.json сейчас:
{
"name": "laravel/laravel",
"description": "The Laravel Framework.",
"keywords": ["framework", "laravel"],
"license": "MIT",
"type": "project",
"require": {
"php": ">=5.6.4",
"laravel/framework": "5.3.*",
"barryvdh/laravel-ide-helper": "~2.0",
"illuminate/html": "5.0.*@dev",
"laracasts/flash": "~1.3",
"intervention/image": "dev-master",
"webpatser/laravel-uuid": "1.*",
"dingo/api": "1.0.x@dev",
"orangehill/iseed": "2.2",
"guzzlehttp/guzzle": "6.2",
"veritrans/veritrans-php": "dev-master",
"doctrine/dbal": "2.5",
"symfony/psr-http-message-bridge": "0.2",
"rguedes/pdfmerger": "^1.0",
"doctrine/inflector": "1.1.x",
"simplesoftwareio/simple-qrcode": "1.5.1",
"maatwebsite/excel": "~2.1.0",
"league/flysystem-aws-s3-v3": "^1.0",
"laravel/passport": "~1.0"
},
"require-dev": {
"fzaninotto/faker": "~1.4",
"mockery/mockery": "0.9.*",
"symfony/dom-crawler": "3.1.*",
"symfony/css-selector": "3.1.*",
"phpunit/phpunit": "~4.0",
"phpspec/phpspec": "~2.1"
},
"autoload": {
"classmap": [
"database",
"app/Http/Controllers/Api/V1"
],
"psr-4": {
"App\\": "app/",
"Vendor\\" : "vendor"
},
"files":[
"app/Http/helpers.php"
]
},
"autoload-dev": {
"classmap": [
"tests/TestCase.php"
]
},
"scripts": {
"post-install-cmd": [
"php artisan clear-compiled",
"php artisan optimize"
],
"post-update-cmd": [
"php artisan clear-compiled",
"php artisan optimize"
],
"post-create-project-cmd": [
"php -r \"copy('.env.example', '.env');\"",
"php artisan key:generate"
]
},
"config": {
"preferred-install": "dist"
}
}
Было бы здорово, если бы я мог удалить этот класс, которого нет в контейнере, чтобы я мог перейти к следующей версии.