Composer 下载包并放入 vendor map 但服务提供商无法识别它 laravel 6
Composer downloads the package and put in the vendor map but the service provider doesn't recognize it laravel 6
我从 git 派生了一个 api 处理程序,我需要将其更新为 laravel 6 (api handler that i forked what is not laravel 6 compatible) 兼容,但我不断收到作曲家错误
所以当我 运行 composer update
它从 git 安装包并将它正确地放在 vendor 文件夹中。什么工作正常然后我将 class 添加到 config/app.php
像这样
'providers' => [
Name\ApiHandler\ApiHandlerServiceProvider::class,
],
什么会在 laravel
中引发此错误
In ProviderRepository.php line 208:
Class 'Name\ApiHandler\ApiHandlerServiceProvider' not found
到目前为止我已经尝试过:
composer clear-cache
rm -rf .cache/composer/*
- 清除 bootstrap 作曲家
- 删除
composer.lock
- 删除
vendor
然后 composer update
但它一直在抛出错误。但是当我在我的编辑器中并转到 config/app.php
并在按住 ctrl 的同时单击 Name\ApiHandler\ApiHandlerServiceProvider::class,
它会找到 class 并转到供应商map 所以我的想法表明 class 已正确导入
这就是 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
当 运行ning Composer update
或 Composer install
时,自定义包也不会出现在 Discovered Package
中
我是不是漏掉了什么,因为我不知道出了什么问题
要解决它,
- 删除
bootstrap/cache/config.php
文件。然后再运行。
运行 下面一一命令
composer dump-autoload
php update
将 ApiHandler 门面导入您的 类:-
use ApiHandler\Facades\ApiHandlerServiceProvider;
置顶
尝试 remove/rename 您的供应商文件夹。然后做composer install
。那么请再次检查。如果这不起作用,请执行 composer update
。不确定引擎盖下发生了什么,但 composer update
在我的案例中成功了。
因此,在研究将自定义包编辑到您的项目后,显然作曲家不会自动加载 "type":"package"
文档中任何地方都没有提到的内容。 link where it get explained
我从 git 派生了一个 api 处理程序,我需要将其更新为 laravel 6 (api handler that i forked what is not laravel 6 compatible) 兼容,但我不断收到作曲家错误
所以当我 运行 composer update
它从 git 安装包并将它正确地放在 vendor 文件夹中。什么工作正常然后我将 class 添加到 config/app.php
像这样
'providers' => [
Name\ApiHandler\ApiHandlerServiceProvider::class,
],
什么会在 laravel
中引发此错误In ProviderRepository.php line 208:
Class 'Name\ApiHandler\ApiHandlerServiceProvider' not found
到目前为止我已经尝试过:
composer clear-cache
rm -rf .cache/composer/*
- 清除 bootstrap 作曲家
- 删除
composer.lock
- 删除
vendor
然后 composer update
但它一直在抛出错误。但是当我在我的编辑器中并转到 config/app.php
并在按住 ctrl 的同时单击 Name\ApiHandler\ApiHandlerServiceProvider::class,
它会找到 class 并转到供应商map 所以我的想法表明 class 已正确导入
这就是 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
当 运行ning Composer update
或 Composer install
Discovered Package
中
我是不是漏掉了什么,因为我不知道出了什么问题
要解决它,
- 删除
bootstrap/cache/config.php
文件。然后再运行。 运行 下面一一命令
composer dump-autoload php update
将 ApiHandler 门面导入您的 类:-
use ApiHandler\Facades\ApiHandlerServiceProvider;
置顶
尝试 remove/rename 您的供应商文件夹。然后做composer install
。那么请再次检查。如果这不起作用,请执行 composer update
。不确定引擎盖下发生了什么,但 composer update
在我的案例中成功了。
因此,在研究将自定义包编辑到您的项目后,显然作曲家不会自动加载 "type":"package"
文档中任何地方都没有提到的内容。 link where it get explained