原则:能用官方安装器就用官方安装器;能用 winget 就用 winget(自动加 PATH);装完立刻用"验证命令"确认。顺序:Go → VS Code → Git → Node/pnpm →(按需)Flutter/Python/C++/Docker。
winget install GoLang.Go)。C:\Program Files\Go,一路 Next。装完重开终端(PATH 刷新)。go version # 期望:go version go1.27.2 windows/amd64 go env GOPROXY # 国内网络:应显示 https://goproxy.cn,direct
国内网络必做(否则 go get 会卡超时):
go env -w GOPROXY=https://goproxy.cn,direct go env -w GOSUMDB=sum.golang.google.cn
工作区习惯(不强制):go env -w GOPATH=C:\Users\你的用户名\go(默认即可),项目目录随意放,Go 用 go.mod 管理模块,不依赖 GOPATH 位置。
winget install Microsoft.VisualStudioCode。golang.go)并安装。gopls(v0.23.0)由扩展自动托管,不用手动装。winget install JetBrains.GoLand(GoLand 2026.2,已适配 Go 1.27;教程以 VS Code 为准,GoLand 是付费备选)。winget install Git.Git git --version
装完设置用户(一次性):git config --global user.name "你的名字"; git config --global user.email "你的邮箱"。推荐在 VS Code 里装 GitLens 扩展(看 diff 用)。
winget install OpenJS.NodeJS.LTS # Node 24 LTS 线(当前 v24.21.0) node --version # 期望 v24.x.x npm install -g pnpm # 全局装 pnpm(npm 装的是最新稳定 12.11.x) pnpm --version # 期望 12.x
国内网络:给 pnpm 配 registry 镜像(否则装包慢/失败):
pnpm config set registry https://registry.npmmirror.com
换机器/换项目时注意:registry 是用户级配置,镜像只加速下载,锁文件(pnpm-lock.yaml)里记录的是版本不是源,不影响可复现。
C:\flutter,把 C:\flutter\bin 加进 PATH(系统环境变量)。$env:FLUTTER_STORAGE_BASE_URL="https://storage.flutter-io.cn" $env:PUB_HOSTED_URL="https://pub.flutter-io.cn" # 上述是临时变量;永久设置:系统环境变量里新建这两个变量,值同上 flutter --version # 期望 Flutter 3.47.6 + Dart 3.13.5 flutter doctor # 检查依赖;做 Windows 桌面开发装好 VS2022 C++ 工作负载即可
提醒:Flutter 是"项目驱动"卫星(08 §1.2 路径 C)。没接到 APP 项目前,可以不装或只装 SDK 不配 Android 环境;要配 Android 时按 13 模块第 1 章操作。
winget install Python.Python.3.14 # 或手动下载:https://www.python.org/downloads/ 选 3.14.8 python --version # 期望 Python 3.14.8(注意:不要选 3.15.0,刚发布,按版本纪律规则 2)
pip install uv 或 winget install astral-sh.uv,然后 uv --version。pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simplecmake --version # 期望 4.4.x cl # 期望显示 MSVC 版本(在"Developer PowerShell for VS 2022"里执行)
winget install Docker.DockerDesktop # Docker Desktop 4.94.0(含 Engine 29.8.x) docker --version # 期望 Docker version 29.x docker compose version # 期望 v2.x
装完启动 Docker Desktop,等托盘鲸鱼图标变绿。记住:Docker 只用于本机开发;1GB 服务器不装 Docker(§3)。
go version && node --version && pnpm --version
python --version && cmake --version && git --version
docker --version
flutter --version # 已装才跑
本机环境验收标准:以上命令全部有输出、版本号与 §4 总表一致,本机环境就绪,可以进 10 模块了。
目标:一台 1GB 内存的云服务器(Debian 13 或 Ubuntu 26.04 LTS),从零到"能安全接收 Go 二进制"。20 模块负责完整部署,这里只做安全地基。
ssh root@服务器IP。# 1) 更新系统 apt update && apt upgrade -y # 2) 时区设为北京时间 timedatectl set-timezone Asia/Shanghai # 3) 建普通用户并加入 sudo(把 yourname 换成你的用户名) adduser yourname usermod -aG sudo yourname # 4) 配置 SSH 密钥登录(本机 PowerShell 执行,不是服务器上): # ssh-keygen -t ed25519 # 本机生成(已有可跳过) # type $env:USERPROFILE\.ssh\id_ed25519.pub | ssh root@服务器IP "cat >> ~/.ssh/authorized_keys" # 然后服务器上:sed -i 's/^#\?PermitRootLogin.*/PermitRootLogin no/' /etc/ssh/sshd_config # systemctl restart ssh # 5) 防火墙:只开 SSH / HTTP / HTTPS apt install -y ufw ufw allow OpenSSH && ufw allow 80/tcp && ufw allow 443/tcp ufw enable # 确认后输入 y;这一步做完 SSH 断开会话是正常的,用新用户+密钥重连 # 6) 1GB 内存加 swap(重要,防 OOM) fallocate -l 2G /swapfile && chmod 600 /swapfile mkswap /swapfile && swapon /swapfile echo '/swapfile none swap sw 0 0' >> /etc/fstab # 7) 验证 free -h # 期望看到 Swap 2.0Gi df -h # 磁盘余量
服务器准备验收标准:能用普通用户 + 密钥登录;root 密码登录已关;防火墙只有 22/80/443;swap 生效;时区正确。这套做完,进 11 模块做部署,或直接进 20 模块系统学。
这是 07 报告选 Go 的核心约束在运维上的投影。五条原则,20 模块会逐条展开。
全系列唯一版本事实来源。每个版本号均于 2026-10-14 实际访问官方页面确认,关键项经第二来源抽查(08 §10 有速览版)。安装时直接抄这张表,不要自己选。
| 工具 | 锁定版本 | 发布日期 | 官方来源 |
|---|---|---|---|
| Go | 1.27.2(1.27.x 线) | 2026-08-19(1.27.0);2026-10-08(1.27.2) | https://go.dev/dl/ · https://go.dev/doc/devel/release |
| Node.js | v24.21.0(Active LTS) | LTS 线持续 | https://nodejs.org/en |
| TypeScript | 7.0.2(^7) | 7.x 新主版本 | https://registry.npmjs.org/typescript |
| Vue 3 | 3.5.x(最新 3.5.44,装 ^3.5) | 3.5.42=2026-08-27;3.5.44 更新 | https://data.jsdelivr.com/v1/packages/npm/vue/resolved?specifier=latest |
| Vite | 8.3.4 | 2026-10-08 | https://data.jsdelivr.com/v1/packages/npm/vite/resolved?specifier=latest |
| pnpm | 12.11.2 | 2026-10-09 | https://github.com/pnpm/pnpm/releases |
| Flutter | stable 3.47.6(Dart 3.13.5) | 2026-10-02 | https://docs.flutter.dev/install/archive |
| Python | 3.14.8(3.14 bugfix 线;3.15.0 刚发布不锁) | 2026-09-30 | https://www.python.org/downloads/ |
| CMake | 4.4.3 | 官网最新 | https://cmake.org/download/ |
| 工具 | 锁定版本 | 发布日期 | 官方来源 |
|---|---|---|---|
| MySQL | 8.4.12 LTS | 2026-08-18 | https://dev.mysql.com/doc/relnotes/mysql/8.4/en/ |
| PostgreSQL | 18.6 | 2026-08-13 | https://www.postgresql.org/docs/release/ |
| Redis | 8.10.2 | 2026-09-17 | https://github.com/redis/redis/releases |
| SQLite | 3.53.4 | 2026-07-24 | https://sqlite.org/changes.html |
| 工具 | 锁定版本 | 发布日期 | 官方来源 |
|---|---|---|---|
| Docker Engine(本机) | 29.8.2 | 2026-09-30 | https://docs.docker.com/engine/release-notes/29/ |
| Docker Desktop | 4.94.0 | 2026-10-05 | https://docs.docker.com/desktop/release-notes/ |
| Nginx | stable 1.30.5 | 2026-09-15 | https://nginx.org/en/download.html |
| Caddy | v2.11.4 | 2026-06-03 | https://github.com/caddyserver/caddy/releases |
| Debian | 13.7 "trixie"(服务器首选) | 13.0=2025-08-09;13.7=2026-09-12 | https://www.debian.org/releases/ |
| Ubuntu | 26.04.1 LTS(备选) | 2026-04 | https://ubuntu.com/download/server |
| 工具 | 锁定版本 | 发布日期 | 官方来源 |
|---|---|---|---|
| Gin | v1.12.0 | 2026-02-28 | https://pkg.go.dev/github.com/gin-gonic/gin |
| GORM(v2 API 线) | v1.31.2(注意 tag 是 v1.x 序列) | 2026-06-22 | https://pkg.go.dev/gorm.io/gorm |
| golang-jwt/jwt | v5.3.1 | 2026-01-28 | https://pkg.go.dev/github.com/golang-jwt/jwt/v5 |
| glebarez/sqlite(GORM·纯 Go) | v1.11.0 | 2024-03-14 | https://pkg.go.dev/github.com/glebarez/sqlite |
| modernc.org/sqlite(纯 Go) | v1.60.1 | 2026-09-29 | https://pkg.go.dev/modernc.org/sqlite |
| mattn/go-sqlite3(CGO 备选) | v1.14.52 | 2026-09-05 | https://github.com/mattn/go-sqlite3/releases |
| pgx | v5.11.0 | 2026-09-07 | https://github.com/jackc/pgx/releases |
| go-redis | v9.23.0 | 2026-10-05 | https://github.com/redis/go-redis/releases |
| go-sql-driver/mysql | v1.10.1 | 2026-09-02 | https://github.com/go-sql-driver/mysql/releases |
| sqlc | v1.31.1 | 2026-04-22 | https://github.com/sqlc-dev/sqlc/releases |
| ent | v0.14.6 | 2026-03-24 | https://github.com/ent/ent/releases |
| air(热重载) | v1.67.4 | 2026-08-01 | https://github.com/air-verse/air/releases |
| golangci-lint | v2.14.0(v2 配置格式) | 2026-09-24 | https://github.com/golangci/golangci-lint/releases |
| delve | v1.27.2 | 2026-09-09 | https://github.com/go-delve/delve/releases |
| 工具 | 锁定版本 | 官方来源 / 说明 |
|---|---|---|
| VS Code | 1.141.0 | https://code.visualstudio.com/updates |
| Go 扩展 + gopls | golang.go;gopls v0.23.0 | https://marketplace.visualstudio.com/items?itemName=golang.Go · https://pkg.go.dev/golang.org/x/tools/gopls(由扩展自动托管) |
| GoLand(备选) | 2026.2 | https://www.jetbrains.com/go/whatsnew/ |
| Visual Studio 2022 | MSVC v143 + "使用 C++ 的桌面开发" | https://visualstudio.microsoft.com/zh-hans/ |
| MinGW-w64(备选) | MSYS2 / WinLibs 分发 | https://www.mingw-w64.org/ |
表中未列的小依赖(godotenv、x/crypto/bcrypt、Python 的 uv 等):各专题模块在写代码前会自己核验最新稳定版并写入该模块来源表(见 08 总纲 §8 与各模块)。你不需要管。
08 总纲 §7 讲"规则",这里讲"命令":怎么查当前版本、怎么核对是不是官方最新、怎么把版本写死进项目。
| 想查什么 | 命令 | 说明 |
|---|---|---|
| Go 运行时版本 | go version | 本机工具链 |
| Go 项目依赖版本 | go list -m all | 以 go.mod/go.sum 为准 |
| Node 版本 | node --version | 配合 .nvmrc 锁 LTS |
| 前端依赖版本 | pnpm list / pnpm why <包名> | 以 pnpm-lock.yaml 为准 |
| Flutter 版本 | flutter --version | stable 渠道 |
| MySQL/PG/Redis 服务端版本 | mysql --version / psql --version / redis-server --version | 服务器上执行 |
| SQLite 版本 | sqlite3 --version | 或 Go 里 SELECT sqlite_version() |
https://pkg.go.dev/<模块路径> 看顶部 Version;https://data.jsdelivr.com/v1/packages/npm/<包名>/resolved?specifier=latest;但记住纪律:"有新版" ≠ "该升级"。升级只允许三种情况(安全通告 / 新特性解决真实问题 / 全新项目)。核对的目的是心里有数,不是动手升级。
# 版本表(本项目唯一事实来源,冻结日期 2026-10) | 组件 | 锁定版本 | 锁文件 | 上次评估 | 升级条件命中? | |-------------|---------------------|--------------------|----------|---------------| | Go | 1.27.x | go.mod + go.sum | 2026-10 | 否 | | Gin | v1.12.x | go.sum | 2026-10 | 否 | | GORM | v1.31.x (v2 API) | go.sum | 2026-10 | 否 | | SQLite 驱动 | glebarez/sqlite | go.sum | 2026-10 | 否 | | Vue3 | ^3.5 | pnpm-lock.yaml | 2026-10 | 否 | | Vite | ^8.3 | pnpm-lock.yaml | 2026-10 | 否 | | Node | 24 LTS | .nvmrc | 2026-10 | 否 |
| 报错 / 现象 | 原因 | 解决 |
|---|---|---|
装完 Go 后 go 命令找不到 | PATH 未刷新 | 关闭终端重开;或 $env:Path=[Environment]::GetEnvironmentVariable('Path','Machine')+';'+[Environment]::GetEnvironmentVariable('Path','User') 后重试 |
go get 卡住 / dial tcp 超时 | 国内网络访问 proxy.golang.org 慢 | go env -w GOPROXY=https://goproxy.cn,direct(见 §1.1) |
go install 提示 missing go.sum entry | 依赖未校验 | go mod tidy 再重试;golangci-lint 等工具用 go install github.com/golangci/golangci-lint/v2/cmd/golangci-lint@v2.14.0 |
| VS Code 打开 .go 文件无提示/无跳转 | gopls 未安装或版本旧 | Ctrl+Shift+P → "Go: Install/Update Tools" 全选安装(走 goproxy.cn) |
pnpm install 很慢 / 卡住 | 默认 registry 慢 | pnpm config set registry https://registry.npmmirror.com |
node 版本不是 24 LTS | 装了 Current 或其他版本 | 用 nvm-windows(github.com/coreybutler/nvm-windows)管理:nvm install 24; nvm use 24;或卸载重装 OpenJS.NodeJS.LTS |
python 打开 Microsoft Store | Windows 应用商店别名劫持 | 设置 → 应用 → 应用执行别名 → 关闭 python.exe / python3.exe 别名;或装 Python 3.14.8 时勾选 PATH |
| Docker Desktop 报 WSL2 内核版本过旧 | WSL2 内核未更新 | 管理员 PowerShell:wsl --update;重启 Docker Desktop |
| Docker Desktop 起不来 / 一直 starting | Hyper-V/WSL 未启用或内存不足 | 控制面板启用"适用于 Linux 的 Windows 子系统"+"虚拟机平台"后重启;确认 BIOS 虚拟化开启 |
flutter doctor 报 Android licenses 未接受 | Android SDK 许可未同意 | flutter doctor --android-licenses 全部 y;没接 APP 项目可先跳过(§1.5) |
cmake 命令找不到 | 未加入 PATH | 重装 CMake 时勾选 "Add CMake to PATH";或把 C:\Program Files\CMake\bin 加入 PATH |
服务器 ufw enable 后 SSH 断连无法重连 | 没先 allow OpenSSH 或 allow 规则写错 | 云控制台 VNC 登录,ufw allow OpenSSH; ufw reload;教训:先 allow 再 enable(§2.2 顺序) |
| MySQL 3306 端口被占用 | 本机已装 MySQL 或残留进程 | netstat -ano | findstr 3306 找 PID;或改容器端口映射 -p 3307:3306(16 模块) |
本页所有版本号均于 2026-10-14 由核验子代理实际访问下列官方页面确认;关键项(Go、PostgreSQL、SQLite、Vue、Vite、GORM、Gin、golang-jwt、modernc)经第二来源(jsDelivr API / pkg.go.dev / 官方发布页)抽查复核。
| Go 1.27 发布与下载页 | https://go.dev/dl/ · https://go.dev/doc/devel/release |
| Node.js 版本页 | https://nodejs.org/en |
| TypeScript dist-tags | https://registry.npmjs.org/typescript |
| Vue / Vite npm latest(jsDelivr API,2026-10-14 抓取) | https://data.jsdelivr.com/v1/packages/npm/vue/resolved?specifier=latest · https://data.jsdelivr.com/v1/packages/npm/vite/resolved?specifier=latest |
| pnpm releases | https://github.com/pnpm/pnpm/releases |
| Flutter SDK archive(stable 3.47.6 / Dart 3.13.5) | https://docs.flutter.dev/install/archive |
| Python 下载页(3.14.8 / 3.15.0) | https://www.python.org/downloads/ |
| CMake 下载页 | https://cmake.org/download/ |
| MySQL 8.4 LTS 发布说明(8.4.12) | https://dev.mysql.com/doc/relnotes/mysql/8.4/en/ |
| PostgreSQL 发布说明(18.6) | https://www.postgresql.org/docs/release/ |
| Redis releases(8.10.2,许可三选一说明见仓库 README) | https://github.com/redis/redis/releases |
| SQLite 发布历史(3.53.4) | https://sqlite.org/changes.html |
| Docker Engine / Desktop 发布说明 | https://docs.docker.com/engine/release-notes/29/ · https://docs.docker.com/desktop/release-notes/ |
| Nginx 下载页(stable 1.30.5) | https://nginx.org/en/download.html |
| Caddy releases(v2.11.4) | https://github.com/caddyserver/caddy/releases |
| Debian / Ubuntu 版本页 | https://www.debian.org/releases/ · https://ubuntu.com/download/server |
| Go 生态各库(pkg.go.dev / GitHub releases) | https://pkg.go.dev/github.com/gin-gonic/gin · https://pkg.go.dev/gorm.io/gorm · https://pkg.go.dev/github.com/golang-jwt/jwt/v5 · https://pkg.go.dev/github.com/glebarez/sqlite · https://pkg.go.dev/modernc.org/sqlite · https://github.com/jackc/pgx/releases · https://github.com/redis/go-redis/releases · https://github.com/go-sql-driver/mysql/releases · https://github.com/sqlc-dev/sqlc/releases · https://github.com/ent/ent/releases · https://github.com/air-verse/air/releases · https://github.com/golangci/golangci-lint/releases · https://github.com/go-delve/delve/releases |