2. Backstage 环境搭建:Node.js 与 Yarn 安装、Backstage 应用脚手架创建、本地开发环境启动与验证

搭建 Backstage 本地开发环境是进行插件开发与平台集成的第一步。本章将引导你完成从基础运行时安装到应用脚手架创建、再到本地开发环境启动与验证的完整流程。一个稳定、版本一致的环境是后续所有自动化巡检功能开发的基础。

2.1 环境依赖概览

Backstage 基于 Node.js 生态构建,其核心依赖包括 Node.js 运行时与 Yarn 包管理器。下表列出了推荐版本及关键说明:

依赖项 推荐版本 说明
Node.js 18.x LTS(建议 18.20.x) Backstage 1.x 系列对 Node 18 支持最稳定;Node 20 部分插件存在兼容性问题
Yarn 1.22.x(Classic) Backstage 官方脚手架依赖 Yarn Classic;Yarn Berry(v2/v3)暂不推荐
Git 2.x 及以上 用于版本管理与插件模板拉取
操作系统 macOS / Linux / Windows(WSL2) Windows 原生环境可能遇到符号链接问题,强烈建议使用 WSL2
版本陷阱提示: 不要直接使用操作系统包管理器(如 apt install nodejs)安装的 Node.js,其版本通常过旧。请使用 nvm(Node Version Manager)或从 Node.js 官网下载 LTS 安装包,确保版本精确可控。

2.2 Node.js 与 Yarn 安装步骤

以下步骤以 macOS / Linux 环境为例,Windows WSL2 用户可完全参照执行。

  1. 安装 nvm(推荐)
    curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
    # 重新加载终端配置
    source ~/.bashrc  # 或 source ~/.zshrc
  2. 安装 Node.js 18 LTS
    nvm install 18
    nvm use 18
    nvm alias default 18
    node --version   # 验证输出应为 v18.20.x
  3. 安装 Yarn Classic
    npm install -g yarn@1.22.22
    yarn --version   # 验证输出应为 1.22.22
  4. 验证核心工具链
    node -e "console.log('Node.js 就绪')"
    yarn --version
快速验证: 如果 node --version 输出 v18.20.x 且 yarn --version 输出 1.22.x,则环境基础已满足 Backstage 运行要求。

2.3 Backstage 应用脚手架创建

Backstage 官方提供了 @backstage/create-app 脚手架工具,用于快速生成标准化的应用骨架。该骨架包含服务目录核心功能、软件模板、技术文档插件等基础模块。

2.3.1 创建应用

npx @backstage/create-app@latest --skip-install
# 根据提示输入应用名称,例如:backstage-capacity-workshop

参数 --skip-install 会跳过自动安装依赖,让我们可以手动控制依赖安装过程,便于排查网络问题。

2.3.2 手动安装依赖

cd backstage-capacity-workshop
yarn install

依赖安装时间取决于网络状况,通常需要 3-8 分钟。安装完成后,目录结构应包含以下核心模块:

目录/文件 用途
packages/app/ 前端应用包,包含 UI 组件、路由、插件注册
packages/backend/ 后端服务包,包含 API 路由、数据库连接、认证
plugins/ 自定义插件目录,后续容量巡检插件将在此开发
app-config.yaml 主配置文件,定义集成、代理、数据库等配置
catalog-info.yaml 服务目录实体定义文件,描述组件、API、资源
架构理解: Backstage 采用 Monorepo 架构,packages/app 和 packages/backend 是两个独立的 Node.js 应用,通过 Yarn Workspaces 共享依赖。前端使用 React + Material UI,后端使用 Express + Node.js。

2.4 本地开发环境启动与验证

启动 Backstage 开发环境需要同时运行前端和后端服务。官方脚手架已配置好并行启动脚本。

2.4.1 启动开发服务器

yarn dev

该命令会同时启动:

  • 前端开发服务器:默认监听 localhost:3000,支持热模块替换(HMR)
  • 后端开发服务器:默认监听 localhost:7007,支持自动重启

2.4.2 验证启动状态

启动日志中应看到类似以下输出:

[0] webpack compiled successfully
[0] ℹ 「wdm」: Compiled successfully.
[1] [backend] Backend started on http://localhost:7007

打开浏览器访问 http://localhost:3000,应看到 Backstage 默认首页,包含:

  • 左侧导航栏(Home、Catalog、API、Docs 等)
  • 首页欢迎卡片
  • 右上角用户登录入口(默认使用 Guest 模式)
常见启动问题:
  • 端口占用: 如果 3000 或 7007 端口被占用,可在 app-config.yaml 中修改 app.baseUrl 和 backend.listen.port。
  • SQLite 依赖编译失败: 确保系统已安装 python3 和 make 编译工具链。
  • 内存不足: Backstage 开发模式内存占用较高,建议分配至少 4GB 内存给 Node.js 进程。

2.5 环境搭建流程总览

下图展示了从零开始搭建 Backstage 本地开发环境的完整流程与关键节点:

Backstage 本地开发环境搭建流程 安装 Node.js 18 LTS 安装 Yarn Classic 1.22 npx @backstage/create-app yarn install 安装依赖 yarn dev 启动服务 访问 localhost:3000 关键验证点: • 前端 localhost:3000 正常渲染 Backstage 首页 • 后端 localhost:7007 返回健康检查响应(HTTP 200) 💡 推荐使用 nvm 管理 Node.js 版本,避免全局权限冲突。 💡 首次启动时 SQLite 数据库文件会自动创建在 packages/backend 目录下。

2.6 环境验证清单

完成启动后,建议逐项核对以下验证点,确保环境完全就绪:

验证项 预期结果 验证命令/操作
Node.js 版本 v18.20.x node --version
Yarn 版本 1.22.x yarn --version
前端页面可访问 Backstage 首页正常渲染 浏览器打开 http://localhost:3000
后端健康检查 HTTP 200 响应 curl http://localhost:7007/api/health
服务目录加载 Catalog 页面显示默认实体 点击左侧 "Catalog" 导航
热模块替换 修改前端代码后页面自动刷新 修改 packages/app/src/App.tsx 并保存