首页 文章

在Laravel中从包含的包中发布配置和迁移

提问于
浏览
2

我正在使用Laravel构建一个包含一些Admin功能的包,并将包含一些其他包 .

我已经包含了一个包含迁移和配置文件的包,但是如何将它们复制到Laravel中的正确文件夹中 . 该软件包有自己的ServiceProvider,但如何从我的软件包中调用它?

我正在使用以下命令在我的包中注册包 .

class CldServiceProvider extends ServiceProvider {

    public function register()
    {
       $this->app->register(MediaLibraryServiceProvider::class);
    }

}

我试过了

php artisan vendor:publish

但它说没有什么可以发表的 . 因为它只查看此Laravel安装的软件包,而不是嵌套软件包 .

我希望我的问题很明确,任何帮助都将不胜感激!

4 回答

  • 0

    正如@scrubmx所提到的,你需要包含定义可以发布内容的代码,尽管这段代码不应该在你自己的服务提供者中,而是你所包含的其他包 . 如果它似乎没有此代码,最好将其列为该软件包的存储库中的问题,或者创建一个拉取请求来添加它 .

  • 0

    尝试单独发布配置并使用强制开关

    php artisan vendor:publish --tag=config --force
    
  • 1

    我想你自己发布了配置文件

    $this->publishes([
        'other-package/absolute/path/some-config.php' => config_path('my-package.php'),
    ]);
    
  • 2

    解决方案

    我将/ packages /文件夹包含在我正在处理的当前项目中 . 问题是在我的composer.json中包含包时

    现在可以从我的项目中的2个位置,供应商文件夹和我的包文件夹中访问它 . 这引起了问题

    我把我的包裹移到我当前的项目之外,这解决了这个问题 .

相关问题