MAC M1环境Laravel项目执行sail up报错:no configuration file provided: not found
Laravel Sail启动报错:no configuration file provided: not found(M1 Mac环境)
问题描述
在M1 Mac环境下,通过curl -s "https://laravel.build/devstagram" | bash创建Laravel项目后,执行./vendor/bin/sail up时触发错误:no configuration file provided: not found。
已尝试的操作:
- 执行
php artisan sail:install - 执行
bash ./vendor/laravel/sail/bin/sail up
Docker版本信息:
Client: Cloud integration: v1.0.29 Version: 20.10.21 API version: 1.41 Go version: go1.18.7 Git commit: baeda1f Built: Tue Oct 25 18:01:18 2022 OS/Arch: darwin/arm64 Context: default Experimental: true Server: Docker Desktop 4.15.0 (93002) Engine: Version: 20.10.21 API version: 1.41 (minimum version 1.12) Go version: go1.18.7 Git commit: 3056208 Built: Tue Oct 25 17:59:41 2022 OS/Arch: linux/arm64 Experimental: false containerd: Version: 1.6.10 GitCommit: 770bd0108c32f3fb5c73ae1264f7e503fe7b2661 runc: Version: 1.1.4 GitCommit: v1.1.4-0-g5fd4c4d docker-init: Version: 0.19.0 GitCommit: de40ad0
解决方法
1. 确认docker-compose.yml文件存在
Sail启动依赖项目根目录下的docker-compose.yml配置文件,执行sail:install时会自动生成该文件。如果未生成,重新执行:
php artisan sail:install
执行过程中按提示选择所需服务(如MySQL、Redis等),完成后配置文件会自动创建。
2. 务必在项目根目录执行命令
切换到devstagram项目根目录后再启动Sail:
cd devstagram ./vendor/bin/sail up
3. 手动复制默认配置文件
若sail:install未生成配置文件,可直接从Sail包中复制模板:
cp vendor/laravel/sail/runtimes/[你的PHP版本]/docker-compose.yml ./
将[你的PHP版本]替换为项目实际使用的版本(例如8.2)。
4. 检查Docker上下文配置
M1 Mac上需确保Docker使用默认上下文:
docker context ls
若当前上下文不是default,切换回默认上下文:
docker context use default
5. 更新Laravel Sail版本
版本兼容性问题可能导致配置文件生成失败,更新Sail后重新执行安装命令:
composer update laravel/sail php artisan sail:install
内容的提问来源于stack exchange,提问作者Mily
相关产品推荐
相关产品推荐

