使用Tag在Laravel插件中发布资产

时间:2017-02-10 00:43:01

标签: php laravel plugins

Official Docs中,我提到我可以为一个或多个资产分配一个标签,以便我可以用以下内容发布:

php artisan vendor:publish --tag=mytag

我试着像这样使用它:

在MyPluginServiceProvider

    $this->publishes([__DIR__ . '/../config/kendo-tournaments.php' => config_path('kendo-tournaments.php'),'custom-tag-name']);
    $this->publishes([__DIR__ . '/../database/migrations' => $this->app->databasePath() . '/migrations'], 'custom-tag-name');
    $this->publishes([__DIR__ . '/../database/seeds' => $this->app->databasePath() . '/seeds'], 'custom-tag-name');
    $this->publishes([__DIR__ . '/../database/factories' => $this->app->databasePath() . '/factories'], 'custom-tag-name');

然后我尝试发布它:

php artisan vendor:publish --tag=custom-tag-name

但它没有发布任何内容:

  

无法为标签[custom-tag-name]发布任何内容。

知道为什么???

1 个答案:

答案 0 :(得分:0)

听起来您的提供商可能不会与其他提供商一起存在于您的app.php中。

仔细检查您的提供商是否已设置,然后重复发布命令。

如果这是一个面向公众的软件包,那么将它添加到自述文件(在运行发布之前添加提供程序)是值得的,因为它经常被遗漏。