为什么 Laravel vendor:publish 返回“无法找到可发布的资源”?

kri*_*sen 4 php laravel laravel-7

我正在 Laravel 7 中实现一个包,并使用https://github.com/jeroennoten/Laravel-AdminLTE作为参考。

在我的包内,我有以下结构

packages/mypackage/src/MyServiceProvider.php
packages/mypackage/config/config.php
Run Code Online (Sandbox Code Playgroud)

这是来自服务提供商的引导方法

public function boot()
    {
        if($this->app->runningInConsole()) {
            $this->publishes([
                $this->loadConfig() => config_path('myconfig.php'),
            ], 'config');
        }
    }
Run Code Online (Sandbox Code Playgroud)

这是 loadConfig() 方法

private loadConfig() {
        return join(DIRECTORY_SEPARATOR, array(
            __DIR__,
            '..',
            'config',
            'config.php'
        ));
    }
Run Code Online (Sandbox Code Playgroud)

但是当我从项目的根目录运行以下命令时,它不起作用

php artisan vendor:publish --provider="MyPackage\MyPackageServiceProvider" --tag="config"

我收到此错误消息

Unable to locate publishable resources.
Publishing complete.
Run Code Online (Sandbox Code Playgroud)

小智 6

只需运行php artisan vendor:publish并选择要发布的类。它在 Laravel 8 上对我有用