Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Laravel with composer发布自定义包文件_Laravel_Laravel Artisan_Composer Php - Fatal编程技术网

使用Laravel with composer发布自定义包文件

使用Laravel with composer发布自定义包文件,laravel,laravel-artisan,composer-php,Laravel,Laravel Artisan,Composer Php,我已经创建了一个新的包,我想避免单独使用publish命令,我需要在package composer.json文件中包含publish命令。所以,当安装包时,它应该根据服务提供商路径移动文件 我尝试了以下方法,但未发布资产/文件 "scripts": { "post-install-cmd": [ "php artisan vendor:publish --provider=\"<vendorname>\\<packagename>\\<Se

我已经创建了一个新的包,我想避免单独使用publish命令,我需要在package composer.json文件中包含publish命令。所以,当安装包时,它应该根据服务提供商路径移动文件

我尝试了以下方法,但未发布资产/文件

"scripts": {
    "post-install-cmd": [
        "php artisan vendor:publish --provider=\"<vendorname>\\<packagename>\\<Serviceprovider>\" --tag=public --force",
        "php artisan migrate"
    ],
    "post-update-cmd": [
        "php artisan vendor:publish --provider=\"<vendorname>\\<packagename>\\<Serviceprovider>\" --tag=public --force",
        "php artisan migrate"
    ]
  }
“脚本”:{
“安装后命令”:[
“php artisan供应商:publish--provider=\”--tag=public--force”,
“php artisan迁移”
],
“更新后命令”:[
“php artisan供应商:publish--provider=\”--tag=public--force”,
“php artisan迁移”
]
}
但是当直接运行下面的命令时,它工作得很好

php artisan vendor:publish --provider="<vendorname>\<packagename>\<Serviceprovider>"
php artisan供应商:发布--provider=“\\”
请提供解决方案。

您是否手动尝试使用以下代码。如果它返回你需要的东西,那么你就在正确的轨道上。否则一些打字错误是由脚本控制的

composer run-script post-install-cmd

Composer不支持自动运行根级别脚本以外的脚本。这是


您最好的选择可能是手动运行命令/指示用户在自述文件中手动运行命令:
composer run script post install cmd-d./vendor/[name]/[package]

也许您应该尝试使用@before命令,我还建议您尝试在“自动加载后转储”部分编写命令。这是我的工作

"scripts": {
    "post-autoload-dump": [
        "@php artisan vendor:publish --provider='<vendorname>\\<packagename>\\<Serviceprovider>' --tag=public --force",
        "@php artisan migrate"
    ]
  }
“脚本”:{
“自动加载后转储”:[
“@php artisan vendor:publish--provider='\\\'--tag=public--force”,
“@php-artisan-migrate”
]
}