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

使用Docker搭建Laravel Sail时遭遇错误求助

解决WSL2执行Laravel安装命令时出现getpwuid(0)错误的问题

问题场景

按照Laravel 9.x Windows官方文档执行项目创建命令:

curl -s https://laravel.build/example-app | bash

出现以下WSL相关错误:

Processing fstab with mount -a failed.

<3>WSL (17) ERROR: CreateProcessEntryCommon:358: getpwuid(0) failed 2
<3>WSL (17) ERROR: CreateProcessEntryCommon:362: getpwuid(0) failed 2
<3>WSL (17) ERROR: CreateProcessEntryCommon:570: execvpe /bin/bash failed 2
<3>WSL (17) ERROR: CreateProcessEntryCommon:579: Create process not expected to return

已安装Docker、WSL2及Ubuntu发行版,但无法正常执行命令。

解决方案

1. 修正WSL默认用户配置

该错误常因WSL默认用户未正确设置导致,执行以下步骤:

  • 打开CMD,运行对应发行版的默认用户设置命令:
    ubuntu config --default-user root
    
    (若你的Ubuntu发行版命名为ubuntu2204等,替换为对应名称)
  • 直接在CMD中运行wsl进入Ubuntu终端,再执行Laravel安装命令:
    curl -s https://laravel.build/example-app | bash
    

2. 修复fstab挂载问题

错误提示中提到Processing fstab with mount -a failed,需检查WSL的挂载配置:

  • 进入WSL终端,编辑/etc/fstab文件:
    nano /etc/fstab
    
  • 检查文件中的挂载项(尤其是Windows磁盘挂载,如/mnt/c),注释掉存在错误的挂载行(在行首加#)
  • 执行mount -a测试挂载是否正常,无报错后再尝试Laravel安装命令

3. 重置WSL发行版(终极方案)

若上述方法无效,可重置WSL发行版:

  • 在CMD中执行:
    wsl --unregister Ubuntu
    
  • 重新打开Ubuntu发行版,完成初始化设置
  • 确保Docker开启对应WSL发行版的集成(Docker设置 -> Resources -> WSL Integration)
  • 再次尝试执行Laravel安装命令

内容的提问来源于stack exchange,提问作者Dade Staples

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 04:25:20