我正在使用Laravel构建一个包含一些Admin功能的包,并将包含一些其他包 .
我已经包含了一个包含迁移和配置文件的包,但是如何将它们复制到Laravel中的正确文件夹中 . 该软件包有自己的ServiceProvider,但如何从我的软件包中调用它?
我正在使用以下命令在我的包中注册包 .
class CldServiceProvider extends ServiceProvider {
public function register()
{
$this->app->register(MediaLibraryServiceProvider::class);
}
}
我试过了
php artisan vendor:publish
但它说没有什么可以发表的 . 因为它只查看此Laravel安装的软件包,而不是嵌套软件包 .
我希望我的问题很明确,任何帮助都将不胜感激!
4 回答
正如@scrubmx所提到的,你需要包含定义可以发布内容的代码,尽管这段代码不应该在你自己的服务提供者中,而是你所包含的其他包 . 如果它似乎没有此代码,最好将其列为该软件包的存储库中的问题,或者创建一个拉取请求来添加它 .
尝试单独发布配置并使用强制开关
我想你自己发布了配置文件
解决方案
我将/ packages /文件夹包含在我正在处理的当前项目中 . 问题是在我的composer.json中包含包时
我把我的包裹移到我当前的项目之外,这解决了这个问题 .