环境安装与快速开始
约 918 字大约 3 分钟
2026-10-16
本页从公开套件开始,不要求平台源码。SDK 标签固定 v0.2.36,代码、合同和 Web 共享快照使用同一来源。
1. 安装环境
| 工具 | 要求 | 用途 |
|---|---|---|
| Git | 系统可用版本 | 获取固定标签代码 |
| Go | 1.25+,同时满足依赖声明 | Go SDK、样例后端及协议 |
| Node.js | 22.12+,建议 22 LTS | Web、mobile、Node SDK |
| Corepack/pnpm | Web 为 10.14.0,mobile 按自身 packageManager | 冻结依赖安装 |
| JDK/Maven/Python | Java 使用 JDK 17+ | Java 客户端生成与本地安装 |
| Docker/Compose | 需要镜像交付时安装 | 构建单容器与隔离运行 |
安装入口:Go、Node.js、pnpm、Docker。命令示例使用 Bash,Windows 可在 WSL2 中执行;只运行 Go/Modbus 示例不需要前端依赖。
go version
node --version
corepack enable缺少 Corepack 时先按 pnpm 官方说明安装,进入对应项目后由 packageManager 选择版本。不要混用 npm/yarn 改写 Web 或 mobile 的锁文件。
2. 获取代码并跑本机 Modbus
git clone --branch v0.2.36 --depth 1 https://github.com/unitedrhino/ur-kit.git
cd ur-kit
git rev-parse HEAD
go mod download
go run ./protocols/modbus/cmd/demo预期输出包含 holding register 10: 42 -> 258。程序使用本机模拟设备,不要求平台、Redis 或真实串口。
3. 启动 Web 与 Go 样例
从 ur-kit 根目录安装 Web workspace:
pnpm install --frozen-lockfile
pnpm -r run stub --if-present
node scripts/verify_iot_basic.mjs在终端一提供已授权平台地址,再启动后端:
export PLATFORM_URL='https://<platform-host>'
cd apps/iot-basic/backend
go mod download
go run .在终端二从套件根目录启动 Web:
export VITE_GLOB_APPID='<platform-app-id>'
BACKEND_URL=http://127.0.0.1:8080 pnpm --filter org-iot-client dev后端默认监听 8080,curl -f http://127.0.0.1:8080/healthz 可检查进程。登录需要企业开通本应用、成员及项目授权,示例数字 ID 不能代替实际配置。健康成功不代表已经获得平台权限。
4. 按需安装 Proto 工具
现成 SDK 已带 Go pb;只调用 SDK 不需要生成平台 Proto。自己新增 RPC 时可以安装公开工具:
go install github.com/zeromicro/go-zero/tools/goctl@v1.9.2
go install google.golang.org/protobuf/cmd/protoc-gen-go@v1.36.11
go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@v1.6.1
export PATH="$(go env GOPATH)/bin:$PATH"
protoc --version
goctl env check --verboseprotoc 另按 Protobuf 官方说明安装,例如 Ubuntu 的 protobuf-compiler。在套件目录之外初始化自己的消息与标准 gRPC 客户端:
mkdir my-rpc && cd my-rpc
go mod init example.com/my-rpc
go get github.com/unitedrhino/ur-kit@v0.2.36
mkdir proto
cat > proto/demo.proto <<'PROTO'
// 本文件定义独立业务的演示合同。
syntax = "proto3";
package demo;
option go_package = "./pb";
// PingReq 保存调用方的问候文本。
message PingReq { string message = 1; }
// PingResp 保存服务返回的问候文本。
message PingResp { string message = 1; }
// Demo 提供独立业务 RPC。
service Demo { rpc Ping(PingReq) returns (PingResp); }
PROTO
protoc --go_out=. --go-grpc_out=. proto/demo.proto
go mod tidy
go test ./...以上生成 pb,不启动服务。需要 go-zero 服务骨架时,按完整初始化步骤执行 goctl rpc protoc,再实现业务;首次本机 RPC 可用直连配置,不强制安装 etcd。修改平台本身的合同则使用平台工具链。
常见问题
- Go 工具找不到:将实际
GOBIN或$(go env GOPATH)/bin加入 PATH。 - 前端提示 Node 不支持:在当前终端确认 Node 至少 22.12。
- 依赖
@vben/*不存在:保留完整套件布局并从根安装,不单独复制 web 后从 npm 猜包。 - 401/403:核对令牌、企业、项目与数字应用 ID,不关闭鉴权绕过失败。
更新日志
2026/10/16 20:10
查看所有更新日志
31681-docs(应用开发): 同步安装指南的固定来源引用于1a4a7-docs(开发指南): 重建平台与应用开发路线于
