Laravel 9执行./vendor/bin/sail up报错:unknown shorthand flag: 'q' in -q
解决Laravel 9 Sail启动时的
unknown shorthand flag: 'q' in -q错误 问题根源
你遇到的错误是因为docker-compose 1.22.0版本过低,不支持Laravel Sail命令中使用的-q(静默模式)参数,这个参数是在docker-compose 1.29.0及以上版本才引入的特性。
解决方案
方案1:升级docker-compose到兼容版本
这是最稳妥的长期解决方案:
- 如果你用Homebrew管理依赖,执行以下命令升级:
brew upgrade docker-compose - 手动安装的话,下载对应1.29.0及以上版本的二进制文件,替换系统中旧的docker-compose可执行文件。
方案2:临时修改Sail脚本(不推荐长期使用)
如果暂时无法升级docker-compose,可以修改Sail的封装脚本去掉-q参数:
- 打开项目根目录下的
./vendor/bin/sail文件 - 搜索所有包含
-q的行,将这些参数删除 - 保存后重新执行
./vendor/bin/sail up
或者直接绕过Sail,手动执行docker-compose命令:
docker-compose up
内容的提问来源于stack exchange,提问作者santiago
相关产品推荐
相关产品推荐

