Mac M1上Docker Compose报错‘compose is not a docker command’的解决方法
Laravel Sail 报错 'compose is not a docker command' 修复方案(M1 Mac)
原因1:Docker Compose V2未启用
Docker Desktop for M1 默认支持Compose V2,但未开启CLI整合选项时会导致Sail调用失败。
- 打开Docker Desktop,进入偏好设置 > General
- 勾选「Use Docker Compose V2」选项
- 重启Docker Desktop,重新执行
./vendor/bin/sail up
原因2:Docker命令路径未加入环境变量
终端无法识别docker compose命令,会导致Sail执行失败。
- 终端执行以下命令检查Docker路径是否在环境变量中:
echo $PATH | grep "/Applications/Docker.app/Contents/Resources/bin/" - 若无输出,将Docker路径添加到shell配置文件(zsh用户编辑
~/.zshrc,bash用户编辑~/.bash_profile):echo 'export PATH="/Applications/Docker.app/Contents/Resources/bin/:$PATH"' >> ~/.zshrc - 刷新环境变量:
source ~/.zshrc - 测试命令可用性:
docker compose version,正常输出版本后重新运行Sail
原因3:Sail缓存或版本兼容问题
- 停止所有Sail容器(若存在):
./vendor/bin/sail down - 清除Composer缓存:
composer clear-cache - 更新Sail到最新版本:
composer update laravel/sail - 重新启动Sail:
./vendor/bin/sail up
内容的提问来源于stack exchange,提问作者Николай Андреевич
相关产品推荐
相关产品推荐

