You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel 9执行sail:publish命令失败,无法创建docker目录

问题描述

尝试创建Dockerfile以运行Xdebug,执行sail artisan sail:publish命令时出现以下错误:

INFO  Publishing [sail-docker] assets.  


   League\Flysystem\UnableToCreateDirectory 

  Unable to create a directory at /var/www/html/docker/.

  at vendor/league/flysystem/src/UnableToCreateDirectory.php:20
     16▕ 
     17▕     public static function atLocation(string $dirname, string $errorMessage = '', ?Throwable $previous = null): UnableToCreateDirectory
     18▕     {
     19▕         $message = "Unable to create a directory at {$dirname}. {$errorMessage}";
  ➜  20▕         $e = new static(rtrim($message), 0, $previous);
     21▕         $e->location = $dirname;
     22▕ 
     23▕         return $e;
     24▕     }

      +31 vendor frames 
  32  artisan:37
      Illuminate\Foundation\Console\Kernel::handle()

错误截图

已尝试的操作:

  • sudo chown -R $USER:$USER ./vendor/
  • sudo chmod -R 755 /var/www/storage
  • sudo chmod 777 docker-compose.yml -Rf

解决方法
  1. 检查并修复根目录权限
    报错核心是无法创建/var/www/html/docker/目录,先确认/var/www/html的所有者和权限:
ls -ld /var/www/html

若当前用户不是该目录所有者,执行以下命令修改:

sudo chown -R $USER:$USER /var/www/html
sudo chmod -R 755 /var/www/html
  1. 手动创建目标目录
    直接提前创建docker目录并配置权限,再执行发布命令:
sudo mkdir -p /var/www/html/docker
sudo chown -R $USER:$USER /var/www/html/docker
sudo chmod -R 755 /var/www/html/docker

之后重新运行:

sail artisan sail:publish
  1. 容器内权限排查(若在容器中执行命令)
    如果是在Sail容器内运行命令,进入容器后检查目录权限:
sail shell
ls -ld /var/www/html

权限不足时,在容器内执行:

chown -R sail:sail /var/www/html
chmod -R 755 /var/www/html

内容的提问来源于stack exchange,提问作者Mario Cadena

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 20:05:46