【发布时间】:2021-03-18 00:11:22
【问题描述】:
我正在为 Laravel 创建我的第一个包,但我无法通过 composer 正确安装它。它通过包的composer.json 使用 Laravel (v5.5+) 自动发现,但是当它运行artisan package:discover 命令时,它找不到我的自定义 ServiceProvider。这是我的composer.json:
{
"name": "mpemburn/api-consumer",
"description": "Configurable consumer for RESTful API's",
"type": "library",
"keywords": ["api","restful","laravel"],
"license": "MIT",
"authors": [
{
"name": "Mark Pemburn",
"email": "mark@pemburn.com"
}
],
"autoload": {
"psr-4": {
"Mpemburn\\ApiConsumer\\": "src/"
}
},
"require": {
"php": ">=7.4"
},
"extra": {
"branch-alias": {
"dev-master": "1.0-dev"
},
"laravel": {
"providers": [
"Mpemburn\\ApiConsumer\\ApiConsumerProvider"
]
}
},
"minimum-stability": "dev"
}
...这是ApiConsumerProvider:
<?php
namespace Mpemburn\ApiConsumer;
use Illuminate\Support\ServiceProvider;
use Mpemburn\ApiConsumer\Handlers\ResponseHandler;
use Mpemburn\ApiConsumer\Interfaces\ResponseHandlerInterface;
class ApiConsumerProvider extends ServiceProvider
{
public function register(): void
{
// Bind ResponseHandlerInterface class(es)
app()->bind(ResponseHandlerInterface::class, ResponseHandler::class);
}
public function boot(): void
{
$this->publishes([
__DIR__.'/../config/api-consumer.php' => config_path('api-consumer.php'),
], 'config');
}
}
我从周日开始仔细检查了这六种方法,但我无法弄清楚我做错了什么。
你可以在这里找到包:https://github.com/mpemburn/api-consumer
提前感谢您提供的任何帮助!
编辑添加:composer 版本 2.0.6,Laravel 版本 8.16.0
【问题讨论】:
标签: php laravel package composer-php