Пакет oriceon-oauth-5-laravel был установлен моим другом, и я вытащил код из git. Я запускаю обновление компоновщика команд, но он выдает следующую ошибку
исключение «Symfony \ Component \ Debug \ Exception \ FatalErrorException» с сообщением «Class» Artdarek \ OAuth \ OAuthServiceProvider «не найден» в / var / www / html / test / vendor / laravel / framework / src / Illuminate / Foundation / ProviderRepository. PHP: 146
Я разрешил это временно, комментируя поставщиков услуг и псевдонимы в файле app.php .
Итак, как правильно решить эту проблему. Это происходит после установки пакетов в laravel 5.11
Проблема заключается в том, что в файле config/app.php
вы, вероятно, увидите следующее:
Artdarek\OAuth\OAuthServiceProvider::class,
в списке поставщиков. Поскольку вы еще не установили этот пакет, класс не существует. Я думаю, вы поняли эту часть, поскольку вы сказали, что прокомментировали поставщиков.
В composer.json
вы увидите по сценариям:
"pre-update-cmd": [ "php artisan clear-compiled" ],
Это означает, что всякий раз, когда вы запускаете composer update
, он сначала вызывает php artisan clear-compiled
, которое загружает ваши файлы конфигурации, что не удается из-за этого отсутствующего класса.
Два способа обойти это:
Измените поставщика как цитату в строках, как они были в Laravel 4:
"Artdarek\OAuth\OAuthServiceProvider",
(поэтому никто не имел этой проблемы до Laravel 5 / PHP 5.5 ). Или…
Реальное решение
Просто запустите composer install
вместо composer update
. Это то, что вы должны делать в любом случае, потому что независимо от того, что ваш товарищ по команде толкнул, работала с версиями библиотек, которые находятся в composer.lock
. Поэтому, если вы запустите установку, это: a) установка известных рабочих версий и b) обход этой команды php artisan
до завершения установки.
Если вам действительно нужно запустить composer update
, используйте его с флагом --no-scripts