## 📋 问题概述
在 Windows 平台上使用 OpenClaw CLI 安装飞书插件时遇到 `spawn EINVAL` 错误。
### 错误信息
[openclaw] Failed to start CLI: Error: spawn EINVAL
at ChildProcess.spawn (node:internal/child_process:421:11)
at spawn (node:child_process:796:9)
at runCommandWithTimeout (file:///C:/Users/Administrator/AppData/Roaming/npm/node_modules/openclaw/dist/exec-B8JKbXKW.js:201:16)
...
### 环境信息
- **操作系统**: Windows
- **OpenClaw 版本**: 2026.2.6-3 (85ed6c7)
- **Node.js 版本**: v24.13.0
- **插件文件**: `clawdbot-feishu-0.1.7.tar.gz`
---
## 🔍 问题分析
### 根本原因
这是 Windows 平台上 Node.js 的 `child_process.spawn()` 函数的已知兼容性问题:
1. **错误阶段**: 插件文件已成功解压,但在自动安装依赖阶段失败
2. **技术原因**: Windows 系统对 spawn 命令的参数格式有特殊要求,而 OpenClaw 的跨平台实现可能存在兼容性问题
3. **触发点**: `runCommandWithTimeout` 函数尝试调用包管理器(如 pnpm/npm)安装依赖时触发
### 插件状态
- ✅ 插件文件已成功解压到 `C:\Users\Administrator\.openclaw\extensions\feishu\`
- ❌ 依赖安装失败,缺少 `node_modules` 目录
- ⚠️ 插件配置文件(`package.json`、`openclaw.plugin.json`)已就位
---
## 🛠️ 解决方案
### 核心思路
手动进入插件目录执行 `npm install` 来替代 OpenClaw 的自动依赖安装。
### 具体步骤
#### 步骤 1: 验证环境
确认 Node.js 和 npm 已安装:
```powershell
node --version # 期望输出: v24.13.0 (或其他版本)
npm --version # 期望输出: 10.x.x (或其他版本)
步骤 2: 进入插件目录
cd "C:\Users\Administrator\.openclaw\extensions\feishu"
步骤 3: 手动安装依赖
npm install
预期输出:
added 3 packages in 2s
3 packages are looking for funding
run `npm fund` for details
步骤 4: 验证安装结果
检查 node_modules 目录是否创建成功:
ls node_modules
确认以下核心依赖已安装:
- ✅ @larksuiteoapi/node-sdk - 飞书开放平台 SDK
- ✅ @sinclair/typebox - 类型验证库
- ✅ zod - 模式验证库
步骤 5: 验证插件加载
openclaw plugins list
预期输出:
Plugins:
- feishu: loaded
from: ~\.openclaw\extensions\feishu\index.ts
version: 0.1.7
description: Feishu/Lark channel plugin
📊 修复结果
依赖安装状态
| 依赖包 | 版本 | 状态 |
|---|---|---|
@larksuiteoapi/node-sdk |
^1.30.0 | ✅ 已安装 |
@sinclair/typebox |
^0.34.48 | ✅ 已安装 |
zod |
^4.3.6 | ✅ 已安装 |
总计: 694 个文件,约 4.1 MB
插件状态
插件 ID: feishu
状态: loaded ✅
版本: 0.1.7
来源: ~\.openclaw\extensions\feishu\index.ts
描述: Feishu/Lark channel plugin
⚠️ 注意事项
已知警告
可能会看到 duplicate plugin id detected 警告,这是正常的:
- OpenClaw 会在多个位置扫描插件
- 不影响插件功能
- 插件已正确加载并可用
可能的替代方案
如果手动安装仍然失败,可以尝试:
-
使用 pnpm 替代 npm(如果已安装):
powershell pnpm install -
使用 cnpm(国内镜像加速):
powershell npm install -g cnpm --registry=https://registry.npmmirror.com cnpm install -
清理缓存后重试:
powershell npm cache clean --force rm -rf node_modules package-lock.json npm install