# CLI 与 deno.json 速查

## 命令映射

| 目标 | 命令 |
| --- | --- |
| 查看版本 / 帮助 | `deno --version` / `deno help <command>` |
| 初始化项目 | `deno init` / `deno init --serve` |
| 运行入口 | `deno run [permissions] main.ts` |
| 执行任务 | `deno task <name>` |
| 添加 / 删除依赖 | `deno install <pkg>` / `deno uninstall <pkg>` |
| CI 可复现安装 | `deno ci` / `deno ci --prod` |
| 依赖列表 / 审计 | `deno list` / `deno audit` |
| 查看模块图 | `deno info main.ts` |
| 格式化 / Lint | `deno fmt` / `deno lint` |
| 类型检查 | `deno check main.ts` |
| 测试 / 覆盖率 | `deno test` / `deno test --coverage` |
| 生成文档 | `deno doc` |
| 编译 / 打包 | `deno compile` / `deno bundle` |
| 构建桌面应用 | `deno desktop`（2.9+） |
| 部署到 Deno Deploy | `deno deploy` |
| 发布 JSR 包 | `deno publish --dry-run` / `deno publish` |
| 升级 Deno | `deno upgrade` |

## 最小配置

```json title="deno.json"
{
  "tasks": {
    "dev": "deno run --watch --allow-net --allow-env=PORT main.ts",
    "check": "deno fmt --check && deno lint && deno check **/*.ts && deno test"
  },
  "imports": {
    "@std/assert": "jsr:@std/assert@^1.0.0"
  },
  "lint": { "rules": { "tags": ["recommended"] } },
  "fmt": { "lineWidth": 100 }
}
```

只添加从当前 [deno.json reference](https://docs.deno.com/runtime/reference/deno_json/) 核对过、且项目需要的键。

## 排错顺序

1. 输出 `deno --version`、OS 与架构。
2. 确认实际命中的 `deno.json(c)` / workspace 根；用 `deno info <entry>` 和 `deno task` 观察实际解析与任务，不猜配置合并结果。
3. 查看 `deno task` 和 `deno info <entry>`，不要猜入口与解析图。
4. 区分权限拒绝、模块解析、类型错误、运行时异常和平台错误。
5. 制作最小复现，再查当前官方文档与 issue。

官方参考：[CLI reference](https://docs.deno.com/runtime/reference/cli/)、[`deno.json`](https://docs.deno.com/runtime/reference/deno_json/)。
