为啥 Laravel vendor:publish 返回“无法找到可发布的资源”?
Posted
技术标签:
【中文标题】为啥 Laravel vendor:publish 返回“无法找到可发布的资源”?【英文标题】:Why is Laravel vendor:publish returning "Unable to locate publishable resources"?为什么 Laravel vendor:publish 返回“无法找到可发布的资源”? 【发布时间】:2020-11-06 08:13:57 【问题描述】:我正在 Laravel 7 中实现一个包,并使用 https://github.com/jeroennoten/Laravel-AdminLTE 作为参考。
在我的包中,我有以下结构
packages/mypackage/src/MyServiceProvider.php
packages/mypackage/config/config.php
这是来自服务提供者的启动方法
public function boot()
if($this->app->runningInConsole())
$this->publishes([
$this->loadConfig() => config_path('myconfig.php'),
], 'config');
这就是 loadConfig() 方法
private loadConfig()
return join(DIRECTORY_SEPARATOR, array(
__DIR__,
'..',
'config',
'config.php'
));
但是当我从项目的根目录运行以下命令时,它不起作用
php artisan vendor:publish --provider="MyPackage\MyPackageServiceProvider" --tag="config"
我收到此错误消息
Unable to locate publishable resources.
Publishing complete.
【问题讨论】:
您是否尝试过删除 vendor 文件夹和 composer.lock 文件并重新安装所有依赖项? 我尝试删除供应商文件夹和 composer.lock 文件,然后运行 composer update,但之后我仍然收到相同的消息 你的文件是config还是myconfig.php? 不,它被称为 config.php 但移动时它应该被命名为 myconfig.php 【参考方案1】:只需运行php artisan vendor:publish
并选择您要发布的课程。它在 Laravel 8 上对我有用
【讨论】:
以上是关于为啥 Laravel vendor:publish 返回“无法找到可发布的资源”?的主要内容,如果未能解决你的问题,请参考以下文章