---
title: "非交互式安装"
description: 使用命令行标志安装 BMad，适用于 CI/CD 流水线和自动化部署
sidebar:
  order: 2
---

使用命令行标志以非交互方式安装 BMad。这适用于：

## 使用场景

- 自动化部署和 CI/CD 流水线
- 脚本化安装
- 跨多个项目的批量安装
- 使用已知配置的快速安装

:::note[前置条件]
需要 [Node.js](https://nodejs.org) v20+ 和 `npx`（随 npm 附带）。
:::

## 可用标志

### 安装选项

| 标志 | 描述 | 示例 |
|------|-------------|---------|
| `--directory <path>` | 安装目录 | `--directory ~/projects/myapp` |
| `--modules <modules>` | 逗号分隔的模块 ID | `--modules bmm,bmb` |
| `--tools <tools>` | 逗号分隔的工具/IDE ID（使用 `none` 跳过） | `--tools claude-code,cursor` 或 `--tools none` |
| `--custom-content <paths>` | 逗号分隔的自定义模块路径 | `--custom-content ~/my-module,~/another-module` |
| `--action <type>` | 对现有安装的操作：`install`（默认）、`update`、`quick-update` 或 `compile-agents` | `--action quick-update` |

### 核心配置

| 标志 | 描述 | 默认值 |
|------|-------------|---------|
| `--user-name <name>` | 智能体使用的名称 | 系统用户名 |
| `--communication-language <lang>` | 智能体通信语言 | 英语 |
| `--document-output-language <lang>` | 文档输出语言 | 英语 |
| `--output-folder <path>` | 输出文件夹路径 | _bmad-output |

### 其他选项

| 标志 | 描述 |
|------|-------------|
| `-y, --yes` | 接受所有默认值并跳过提示 |
| `-d, --debug` | 启用清单生成的调试输出 |

## 模块 ID

`--modules` 标志可用的模块 ID：

- `bmm` — BMad Method Master
- `bmb` — BMad Builder

查看 [BMad 注册表](https://github.com/bmad-code-org) 获取可用的外部模块。

## 工具/IDE ID

`--tools` 标志可用的工具 ID：

**推荐：** `claude-code`、`cursor`

运行一次 `npx bmad-method install` 交互式安装以查看完整的当前支持工具列表，或查看 [平台代码配置](https://github.com/bmad-code-org/BMAD-METHOD/blob/main/tools/cli/installers/lib/ide/platform-codes.yaml)。

## 安装模式

| 模式 | 描述 | 示例 |
|------|-------------|---------|
| 完全非交互式 | 提供所有标志以跳过所有提示 | `npx bmad-method install --directory . --modules bmm --tools claude-code --yes` |
| 半交互式 | 提供部分标志；BMad 提示其余部分 | `npx bmad-method install --directory . --modules bmm` |
| 仅使用默认值 | 使用 `-y` 接受所有默认值 | `npx bmad-method install --yes` |
| 不包含工具 | 跳过工具/IDE 配置 | `npx bmad-method install --modules bmm --tools none` |

## 示例

### CI/CD 流水线安装

```bash
#!/bin/bash
# install-bmad.sh

npx bmad-method install \
  --directory "${GITHUB_WORKSPACE}" \
  --modules bmm \
  --tools claude-code \
  --user-name "CI Bot" \
  --communication-language English \
  --document-output-language English \
  --output-folder _bmad-output \
  --yes
```

### 更新现有安装

```bash
npx bmad-method install \
  --directory ~/projects/myapp \
  --action update \
  --modules bmm,bmb,custom-module
```

### 快速更新（保留设置）

```bash
npx bmad-method install \
  --directory ~/projects/myapp \
  --action quick-update
```

### 使用自定义内容安装

```bash
npx bmad-method install \
  --directory ~/projects/myapp \
  --modules bmm \
  --custom-content ~/my-custom-module,~/another-module \
  --tools claude-code
```

## 安装结果

- 项目中完全配置的 `_bmad/` 目录
- 为所选模块和工具编译的智能体和工作流
- 用于生成产物的 `_bmad-output/` 文件夹

## 验证和错误处理

BMad 会验证所有提供的标志：

- **目录** — 必须是具有写入权限的有效路径
- **模块** — 对无效的模块 ID 发出警告（但不会失败）
- **工具** — 对无效的工具 ID 发出警告（但不会失败）
- **自定义内容** — 每个路径必须包含有效的 `module.yaml` 文件
- **操作** — 必须是以下之一：`install`、`update`、`quick-update`、`compile-agents`

无效值将：
1. 显示错误并退出（对于目录等关键选项）
2. 显示警告并跳过（对于自定义内容等可选项目）
3. 回退到交互式提示（对于缺失的必需值）

:::tip[最佳实践]
- 为 `--directory` 使用绝对路径以避免歧义
- 在 CI/CD 流水线中使用前先在本地测试标志
- 结合 `-y` 实现真正的无人值守安装
- 如果在安装过程中遇到问题，使用 `--debug`
:::

## 故障排除

### 安装失败，提示"Invalid directory"

- 目录路径必须存在（或其父目录必须存在）
- 您需要写入权限
- 路径必须是绝对路径或相对于当前目录的正确相对路径

### 未找到模块

- 验证模块 ID 是否正确
- 外部模块必须在注册表中可用

### 自定义内容路径无效

确保每个自定义内容路径：
- 指向一个目录
- 在根目录中包含 `module.yaml` 文件
- 在 `module.yaml` 中有 `code` 字段

:::note[仍然卡住了？]
使用 `--debug` 运行以获取详细输出，尝试交互模式以隔离问题，或在 <https://github.com/bmad-code-org/BMAD-METHOD/issues> 报告。
:::

---
## 术语说明

- **CI/CD**：持续集成/持续部署。一种自动化软件开发流程的实践，用于频繁集成代码更改并自动部署到生产环境。
- **agent**：智能体。在人工智能与编程文档中，指具备自主决策或执行能力的单元。
- **module**：模块。软件系统中可独立开发、测试和维护的功能单元。
- **IDE**：集成开发环境。提供代码编辑、调试、构建等功能的软件开发工具。
- **npx**：Node Package eXecute。npm 包执行器，用于直接执行 npm 包而无需全局安装。
- **workflow**：工作流。一系列有序的任务或步骤，用于完成特定的业务流程或开发流程。
