问题:

openclaw@2026.2.1 canvas:a2ui:bundle E:\STUDY\AI\openclaw
bash scripts/bundle-a2ui.sh

wsl: C:\Users\mqiqe.wslconfig:9 (冲突密钥“experimental.networkingMode”中的配置密钥“wsl2.networkingMode”在 C:\Users\mqiqe.wslconfig:4) 中重复
wsl: C:\Users\mqiqe.wslconfig:10 (冲突密钥“experimental.dnsTunneling”中的配置密钥“wsl2.dnsTunneling”在 C:\Users\mqiqe.wslconfig:2) 中重复
wsl: C:\Users\mqiqe.wslconfig:11 (冲突密钥“experimental.firewall”中的配置密钥“wsl2.firewall”在 C:\Users\mqiqe.wslconfig:3) 中重复
wsl: C:\Users\mqiqe.wslconfig:12 (冲突密钥“experimental.autoProxy”中的配置密钥“wsl2.autoProxy”在 C:\Users\mqiqe.wslconfig:5) 中重复
<3>WSL (11) ERROR: CreateProcessParseCommon:763: Failed to translate E:\STUDY\AI\openclaw
<3>WSL (11) ERROR: CreateProcessParseCommon:809: getpwuid(0) failed 2
<3>WSL (11) ERROR: UtilTranslatePathList:2852: Failed to translate

遇到的错误 根本原因不是代码问题,而是 WSL(Windows Subsystem for Linux)配置冲突 + 路径挂载失败,导致 bash scripts/bundle-a2ui.sh 无法执行。

🔥 错误核心分析

1. .wslconfig 配置冲突

wsl: C:\Users\mqiqe\.wslconfig:9 (冲突密钥“experimental.networkingMode”中的配置密钥“wsl2.networkingMode”在 C:\Users\mqiqe\.wslconfig:4) 中重复
  • 在 .wslconfig 中同时使用了旧版 experimental.* 和新版 wsl2.* 配置项
  • WSL 2 新版本已弃用 experimental. 前缀,两者冲突

2. WSL 无法挂载 Windows 盘符(C: D: E:\)

Failed to mount C:\, see dmesg for more details.
Failed to mount D:\, see dmesg for more details.
Failed to mount E:\, see dmesg for more details.
  • 导致 WSL 内无法访问你的项目路径 E:\STUDY\AI\openclaw
  • 所有 PATH 环境变量中的 Windows 路径(如 D:\SF\nodejs\nodejs)都无法翻译 → 大量 UtilTranslatePathList 错误

3. 关键命令失败

CreateProcessCommon:559: execvpe(/bin/bash) failed: No such file or directory
  • 因为 WSL 根文件系统损坏或未正确初始化,连 /bin/bash 都找不到!

✅ 解决方案(分步操作)

✅ 步骤 1:修复 .wslconfig 文件

打开 C:\Users\mqiqe.wslconfig,删除所有 experimental. 开头的行,只保留 wsl2. 格式:

# ✅ 正确示例(保留其一即可)
[wsl2]
kernel=C:\\temp\\myCustomKernel
memory=4GB
processors=2
localhostForwarding=true
networkingMode=mirrored      # ← 新版
dnsTunneling=true            # ← 新版
firewall=true                # ← 新版
autoProxy=true               # ← 新版

# ❌ 删除以下旧格式(冲突!)
# experimental.networkingMode=mirrored
# experimental.dnsTunneling=true
# experimental.firewall=true
# experimental.autoProxy=true

💡 规则:不要混用 experimental. 和 wsl2.,全部用 wsl2.

✅ 步骤 2:重启 WSL 并重置

以 管理员身份 打开 PowerShell,执行:

# 关闭所有 WSL 实例
wsl --shutdown

# 可选:重置 WSL(如果问题持续)
wsl --update
wsl --set-default-version 2

# 重新启动 WSL
wsl -d Ubuntu  # 或你使用的发行版名

⚠️ 如果你不确定发行版名,运行 wsl -l 查看

✅ 步骤 3:验证 WSL 是否能访问 E:\

在 WSL 终端中运行:

ls /mnt/e/STUDY/AI/openclaw
  • 如果看到项目文件 → 挂载成功 ✅
  • 如果报错 No such file or directory → 挂载失败 ❌

若仍无法挂载:

  1. 确保 Windows 防火墙/杀毒软件未阻止 WSL
  2. 尝试手动挂载:
sudo mkdir -p /mnt/e
sudo mount -t drvfs E: /mnt/e

✅ 步骤 4:避免在 WSL 中调用 Windows 路径的 pnpm

你的错误显示 pnpm 尝试在 WSL 中执行 Windows 路径的二进制文件(D:\SF\nodejs\nvm),这是跨系统调用的典型陷阱。
推荐做法:
在纯 Windows 环境下构建,而非 WSL

# 在 PowerShell(非 WSL)中运行
cd E:\STUDY\AI\openclaw
pnpm build

💡 为什么?
OpenClaw 是 Electron 应用,主要面向 Windows/macOS,
不需要 WSL。WSL 反而因路径翻译问题导致构建失败。

✅ 步骤 5:如果必须用 WSL(不推荐)

  1. 在 WSL 内安装独立的 Node.js/pnpm(不要用 Windows 的)
curl -fsSL https://get.pnpm.io/install.sh | sh -
source ~/.bashrc
  1. 将项目复制到 WSL 文件系统(如 ~/openclaw)
cp -r /mnt/e/STUDY/AI/openclaw ~/
cd ~/openclaw
pnpm install
pnpm build
  1. 永远不要在 WSL 中直接操作 /mnt/c|d|e 下的项目进行构建

🛠 附加建议

检查 WSL 状态

wsl -l -v

确保状态是 Running,版本是 2

清理 Corepack 缓存(可选)

corepack disable
corepack enable

✅ 总结:最佳实践

场景 推荐方式
开发 OpenClaw(Electron 应用) 直接在 Windows PowerShell 中操作 ✅
需要 Linux 构建环境 将代码复制到 WSL 内部(~/project),不要用 /mnt
.wslconfig 配置 只用 wsl2. 前缀,删除所有 experimental.

🚫 不要混合使用 Windows 路径和 WSL 构建工具链 —— 这是 90% WSL 构建失败的根源。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐