使用Docker/Sail安装Laravel删除目录重装提示已存在但目录为空如何解决
问题原因
- Laravel官方安装器的
new命令校验逻辑为:只要命令执行的当前工作目录下存在与目标项目名同名的目录,无论目录是否为空,都会触发Application already exists报错。你此前仅删除了example-app目录内的文件,未删除目录本身,空目录仍然会被安装器识别为已存在的项目。 - 少数场景下为Docker容器运行安装器时的挂载缓存问题,宿主机目录已清空但容器读取到的目录状态未同步。
解决方法
- 优先尝试彻底删除空的
example-app目录,执行命令:
rm -rf ~/Docker_/example-app
确认目录删除完成后重新执行原curl安装命令即可正常安装。
- 如果删除目录后仍然报错,可以直接在安装请求中添加强制覆盖参数,在curl请求的URL末尾增加
&force=1后缀即可:
curl -s "https://laravel.build/example-app?with=pgsql,mariadb,redis,memcached,meilisearch,minio,selenium,mailhog&force=1" | bash
- 也可选择手动执行Laravel安装命令,直接携带
--force参数跳过存在校验:
composer create-project laravel/laravel example-app --force
安装完成后按需配置Sail相关依赖即可。
内容的提问来源于stack exchange,提问作者MWA
相关产品推荐
相关产品推荐

