fix: make dev script choose free port

This commit is contained in:
QiuSW
2026-07-08 16:33:18 +08:00
parent 7c31554f64
commit 462ff5ac4c
7 changed files with 17 additions and 7 deletions
+2
View File
@@ -66,6 +66,8 @@ Windows 下也可以直接运行:
.\build.bat
```
`dev.bat` 会从 `9245` 开始选择一个空闲 Vite 端口,避免已有 dev server 占用端口时无法打开 GUI。
## 维护约定
- Go 模块名统一为 `cmbone`。
+1 -1
View File
@@ -1 +1 @@
@for /f "delims=" %%G in ('go env GOPATH') do @set "PATH=%%G\bin;%PATH%" && wails3 build
@cd /d "%~dp0" && for /f "delims=" %%G in ('go env GOPATH') do @set "PATH=%%G\bin;%PATH%" && wails3 build
+1 -1
View File
@@ -1 +1 @@
@for /f "delims=" %%G in ('go env GOPATH') do @set "PATH=%%G\bin;%PATH%" && wails3 dev
@cd /d "%~dp0" && for /f "delims=" %%G in ('go env GOPATH') do @set "PATH=%%G\bin;%PATH%" && for /f %%P in ('powershell -NoProfile -Command "$p=9245; while (Get-NetTCPConnection -LocalPort $p -State Listen -ErrorAction SilentlyContinue) { $p++ }; $p"') do @wails3 dev -config .\build\config.yml -port %%P
+2
View File
@@ -107,6 +107,8 @@ Windows 快捷脚本:
.\build.bat
```
`dev.bat` 会先切到项目根目录,把 Go bin 加入当前进程 PATH,再从 `9245` 开始选择空闲端口运行 `wails3 dev`。
Windows build 资源:
- `build/windows/wails.exe.manifest`
+1 -1
View File
@@ -50,7 +50,7 @@
| T-031 | 文档化 Wails bindings 生成流程 | T-012 | README 或技术栈文档说明 `wails3 generate bindings` 的使用、失败处理和版本要求 | TODO |
| T-032 | 补充 Windows 打包验证文档 | T-031 | `wails3 package` 前置条件、输出目录和常见失败处理写入 README 或 docs | TODO |
| T-033 | 完成一次模板 smoke 清单 | T-023 | 登录、设置、业务样例、日志、统计、组件示例、托盘、热键都按清单验证并记录结果 | TODO |
| T-034 | 添加 Windows Wails 快捷脚本 | T-001 | `dev.bat` 一行把 Go bin 加入当前进程 PATH 并运行 `wails3 dev`;`build.bat` 一行把 Go bin 加入当前进程 PATH 并运行 `wails3 build`;README、技术栈、当前状态和执行流水已同步 | DONE |
| T-034 | 添加 Windows Wails 快捷脚本 | T-001 | `dev.bat` 一行切到项目根目录、补 Go bin PATH、自动选择空闲端口并运行 `wails3 dev`;`build.bat` 一行切到项目根目录、补 Go bin PATH 并运行 `wails3 build`;README、技术栈、当前状态和执行流水已同步 | DONE |
## Backlog
+3 -2
View File
@@ -98,10 +98,11 @@ wails3 build
同日新增 Windows Wails 快捷脚本:
- `dev.bat` 一行把 Go bin 加入当前进程 PATH 并运行 `wails3 dev`。
- `build.bat` 一行把 Go bin 加入当前进程 PATH 并运行 `wails3 build`。
- `dev.bat` 一行切到项目根目录,把 Go bin 加入当前进程 PATH,并从 `9245` 开始选择空闲端口运行 `wails3 dev`。
- `build.bat` 一行切到项目根目录,把 Go bin 加入当前进程 PATH 并运行 `wails3 build`。
- 已补齐 `build/windows/wails.exe.manifest` 和 `build/windows/info.json`,使 `wails3 build` 的 Windows syso 生成步骤可运行。
- `cmd /c build.bat` 通过。
- `dev.bat` 已验证能避开端口占用问题,进入 `windows:run` 并加载 WebView 资源。
- 使用同样 PATH 逻辑执行 `wails3 dev -help` 通过。
- `.\init.ps1` 通过。
+7 -2
View File
@@ -104,8 +104,8 @@
- 任务:完成 `T-034`,新增一行 bat 脚本运行 Wails dev 和 build 命令。
- 结果:
- 新增 `dev.bat`,通过 `go env GOPATH` 把 Go bin 加入当前进程 PATH 并运行 `wails3 dev`。
- 新增 `build.bat`,通过 `go env GOPATH` 把 Go bin 加入当前进程 PATH 并运行 `wails3 build`。
- 新增 `dev.bat`,切到项目根目录,通过 `go env GOPATH` 把 Go bin 加入当前进程 PATH,并从 `9245` 开始选择空闲端口运行 `wails3 dev`。
- 新增 `build.bat`,切到项目根目录,通过 `go env GOPATH` 把 Go bin 加入当前进程 PATH 并运行 `wails3 build`。
- 补齐 `build/windows/wails.exe.manifest` 和 `build/windows/info.json`,满足 Windows syso 生成步骤。
- `wails3 build` 按当前 CLI 重新生成 `frontend/bindings`,当前绑定文件形态为 `.js`。
- 更新 README、技术栈、API、当前状态和任务看板。
@@ -115,6 +115,11 @@
- `cmd /c build.bat` 通过。
- `.\init.ps1` 通过。
- `git diff --check` 通过。
- 修复记录:
- 用户反馈 `dev.bat` 没有 GUI 窗口后,复现发现原因是 Vite 端口 `9245` 被占用,Wails dev 在前端启动阶段失败。
- `dev.bat` 已改为先切到项目根目录,再从 `9245` 开始选择空闲端口运行 `wails3 dev`。
- 修复后 `dev.bat` 已进入 `windows:run`,连接前端 dev server,并加载 WebView 资源。
- `build.bat` 已改为先切到项目根目录,避免从其他目录运行时找不到项目配置。
- 非阻塞警告:
- `wails3 build` 提示 `wails3 build` 是 `wails3 task` 的 alias。
- `npm install` 仍报告 3 个 moderate audit findings。