Класс провайдера не найден в строке 208 ProviderRepository.php - PullRequest
0 голосов
/ 31 августа 2018

Я создал простой пакет Laravel и отправил его на Github

https://github.com/akshaykhale1992/model-notes

и опубликовал пакет на Packagist

https://packagist.org/packages/akshaykhale1992/model-note

Я попытался установить его в своем приложении laravel, оно вытянуло пакет из Github, но установка пакета не удалась.

Ниже приведена ошибка, возвращаемая командой композитора

root@root.com:~/$ composer require akshaykhale1992/model-note
Using version dev-master for akshaykhale1992/model-note
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 1 install, 0 updates, 0 removals
  - Installing akshaykhale1992/model-note (dev-master 5543914): Cloning 554391487e from cache
Writing lock file
Generating optimized autoload files
> Illuminate\Foundation\ComposerScripts::postAutoloadDump
> @php artisan package:discover

In ProviderRepository.php line 208:

  Class 'AkshayKhale1992\ModelNote\ModelNoteProvider' not found  


Script @php artisan package:discover handling the post-autoload-dump event returned with error code 1

Заранее спасибо.

Скриншот терминала enter image description here

1 Ответ

0 голосов
/ 31 августа 2018

Для того чтобы composer правильно сгенерировал файл автозагрузки для вашего пакета (а также всех пакетов), он должен знать, где найти пространства имен и файлы, на которые ссылаются. Это делается с помощью записи autoload в composer.json

В вашем случае, поскольку вы уже следуете стандарту PSR-4 , вам нужно что-то вроде:

"autoload": {
    "psr-4": {
        "AkshayKhale1992\\ModelNote\\": "src/"
    }
}
...