使用Laravel with composer发布自定义包文件
我已经创建了一个新的包,我想避免单独使用publish命令,我需要在package composer.json文件中包含publish命令。所以,当安装包时,它应该根据服务提供商路径移动文件 我尝试了以下方法,但未发布资产/文件使用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
"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”
]
}