Php 包:发现找不到我的服务提供商
我已经创建了一个自定义的Laravel包。它托管在一个私有存储库中 当我尝试在Laravel应用程序中安装软件包时,如下所示:Php 包:发现找不到我的服务提供商,php,laravel,composer-php,Php,Laravel,Composer Php,我已经创建了一个自定义的Laravel包。它托管在一个私有存储库中 当我尝试在Laravel应用程序中安装软件包时,如下所示: composer require memberportal/congress-models 我得到这个错误: In ProviderRepository.php line 208: Class 'Memberportal\CongressesModels\CMServiceProvider' not found Script @php artisan p
composer require memberportal/congress-models
我得到这个错误:
In ProviderRepository.php line 208:
Class 'Memberportal\CongressesModels\CMServiceProvider' not found
Script @php artisan package:discover --ansi handling the post-autoload-dump event returned with error code 1
Installation failed, reverting ./composer.json to its original content.
我已经仔细检查了上百次了,但是我不知道为什么他没有找到类CMServiceProvider.php
我是否需要在composer.json
中的其他位置指定提供程序
这是我的软件包中的composer.json
的内容:
{
"name": "memberportal/congress-models",
"description": "Takes care of the models between API and client",
"type": "metapackage",
"authors": [
{
"name": "My name",
"email": "my@email.com"
}
],
"version" : "1.0",
"minimum-stability": "stable",
"require": {
"laracasts/presenter": "^0.2.2"
},
"require-dev": {
"orchestra/testbench": "^4.0"
},
"autoload": {
"psr-4": {
"Memberportal\\CongressesModels\\": "src"
}
},
"autoload-dev": {
"psr-4": {
"Memberportal\\CongressesModels\\Tests\\": "tests"
}
},
"extra": {
"laravel": {
"providers": [
"Memberportal\\CongressesModels\\CMServiceProvider"
]
}
}
}
这是文件夹结构:
这是CMServiceProvider.php
的内容:
<?php
namespace Memberportal\CongressesModels;
use Illuminate\Support\ServiceProvider;
class CMServiceProvider extends ServiceProvider
{
/**
* Register services.
*
* @return void
*/
public function register()
{
}
/**
* Bootstrap services.
*
* @return void
*/
public function boot()
{
$this->loadMigrationsFrom(__DIR__ . '/../database/migrations');
}
}
由于要安装Laravel软件包,因此软件包类型应为软件包
。metapackage
是一个
简言之,改变
"type": "metapackage",
到
当composer需要软件包时,Laravel将通过自动发现找到服务提供商。您是否尝试了“composer update”命令?@MehediHassan我为什么要这样做<代码>编写器更新
可以工作,但我正在尝试安装新的专用软件包。有时编写器无法跟踪/自动加载依赖项。这就是为什么有时候,你需要重新更新它。这基本上是在团队中工作时发生的。您的队友可能会更改依赖项,而您会添加一些。在那里,您可能需要更新编写器
"type": "package",