Php Composer下载软件包并放入供应商地图,但服务提供商没有';我认不出来了,拉维
我从git派生了一个api处理程序,我需要更新它以使其与laravel 6()兼容,但我不断收到编写器错误 因此,当我运行Php Composer下载软件包并放入供应商地图,但服务提供商没有';我认不出来了,拉维,php,laravel,composer-php,laravel-6,Php,Laravel,Composer Php,Laravel 6,我从git派生了一个api处理程序,我需要更新它以使其与laravel 6()兼容,但我不断收到编写器错误 因此,当我运行composerupdate时,它会从git安装包,并将其正确地放在vendor文件夹中。然后我将类添加到config/app.php中,如下所示 'providers' => [ Name\ApiHandler\ApiHandlerServiceProvider::class, ], 什么会把这个错误抛到拉威尔身上 In ProviderRepo
composerupdate
时,它会从git安装包,并将其正确地放在vendor文件夹中。然后我将类添加到config/app.php
中,如下所示
'providers' => [
Name\ApiHandler\ApiHandlerServiceProvider::class,
],
什么会把这个错误抛到拉威尔身上
In ProviderRepository.php line 208:
Class 'Name\ApiHandler\ApiHandlerServiceProvider' not found
到目前为止,我已经尝试:
composer清除缓存
rm-rf.cache/composer/*
composer.lock
供应商
composer更新之后
,但它一直抛出错误。但是,当我在我的编辑器中,进入config/app.php
并单击Name\apidhandler\apidhandlerserviceprovider::class时,
按住ctrl键,它会找到类并转到供应商映射,这样我的想法会显示该类已正确导入
这就是laravel项目的composer.json的外观
"repositories": [
{
"type":"package",
"package": {
"name": "name/laravel-api-handler",
"version":"dev-laravel-6",
"source": {
"url": "https://github.com/name/laravel-api-handler",
"type": "git",
"reference":"branch name"
}
}
}
],
"require": {
"name/laravel-api-handler": "dev-laravel-6",
},
api处理程序composer.json
"autoload": {
"psr-4": {
"name\\ApiHandler\\": "src"
}
},
"extra": {
"laravel": {
"providers": [
"name\\ApiHandler\\ApiHandlerServiceProvider"
]
}
},
映射结构为vendor/name/laravel api handler/src
此外,在运行Composer update
或Composer install
我是不是因为不知道出了什么问题而错过了什么
- 删除
文件。然后再跑bootstrap/cache/config.php
- 逐个运行下面的命令
composer dump-autoload php update
- 删除
文件。然后再跑bootstrap/cache/config.php
- 逐个运行下面的命令
composer dump-autoload php update
- 要解决它
在顶部将ApiHandler facade导入到类中:- 使用ApiHandler\Facades\ApiHandlerServiceProvider
在顶部尝试删除/重命名您的供应商文件夹。然后执行
composer安装
。那请再查一下。如果不起作用,请执行composer更新
。不确定引擎盖下发生了什么,但在我的情况下,composer update
成功了。尝试删除/重命名您的供应商文件夹。然后执行composer安装
。那请再查一下。如果不起作用,请执行composer更新
。不确定在引擎盖下发生了什么,但在我的案例中,composer update
起到了作用。因此,在研究将自定义包编辑到项目中之后,composer显然不会自动加载“type”:“package”
文档中没有提到的内容 因此,在研究将自定义包编辑到项目中之后,composer显然不会自动加载“type”:“package”
文档中没有提到的内容 正如我所看到的,这个软件包已经过时,而且最近没有更新。更好的办法是避免使用此包。是的,我知道为什么我在这种情况下分叉了包并对其进行了更新,但我无法让composer使用WorkID。您是否将包中所有文件的名称空间更改为新名称空间?因此,Name\ApiHandler\ApiHandlerServiceProvider
实际上在Name\ApiHandler
命名空间中,而不是在旧命名空间中。这可能是因为它根本没有自动上膛。我很确定你可以做composer dumpauto-vvv
来获取更多关于加载内容的详细信息。它读取composer.json文件,但没有加载到包中。我还重新检查了所有名称空间是否正确替换了供应商中的所有文件都具有名称空间name\apidhandler
只有Name\ApiHandler\ApiHandlerServiceProvider
在config/app,php
中,它是这样设置的吗?我的想法表明它正确地进入了供应商地图。正如我所看到的,这个包已经过时,而且最近没有更新。更好的办法是避免使用此包。是的,我知道为什么我在这种情况下分叉了包并对其进行了更新,但我无法让composer使用WorkID。您是否将包中所有文件的名称空间更改为新名称空间?因此,Name\ApiHandler\ApiHandlerServiceProvider
实际上在Name\ApiHandler
命名空间中,而不是在旧命名空间中。这可能是因为它根本没有自动上膛。我很确定你可以做composer dumpauto-vvv
来获取更多关于加载内容的详细信息。它读取composer.json文件,但没有加载到包中。我还重新检查了所有名称空间是否正确替换了供应商中的所有文件都具有名称空间name\apidhandler
只有config/app中的Name\ApiHandler\ApiHandlerServiceProvider
,php
是这样设置的吗?我的想法表明,在执行rm-rf引导/cache/*
并运行composer dump autoload之后,它会在ProviderRepository.php第208行中返回一个错误:
未找到类'Name\ApiHandler\ApiHandlerServiceProvider'rm-rf bootstrap/cache/*
然后运行composer dump autoload
在ProviderRepository.php第208行返回一个错误:
未找到Class'Name\apidhandler\apidhandlerserviceprovider',只是laravel provider找不到服务profider,因为我假设composer没有将它们加载到自动加载中,这就是laravel在导入到类中的服务profiderit中找不到类的原因,它可以识别并找到该类,这只是因为laravel提供者找不到服务profider,因为我假设composer没有将它们加载到自动加载中,而我使用了它