Fix: 解决Win10中文乱码和编译路径问题
- 将批处理脚本改为英文输出 - 添加UTF-8编码支持(chcp 65001) - 添加go.mod存在性检查 - 创建详细的Windows使用说明文档
This commit is contained in:
@@ -0,0 +1,173 @@
|
|||||||
|
# Windows 10 使用说明
|
||||||
|
|
||||||
|
## 解决中文乱码问题
|
||||||
|
|
||||||
|
已将脚本中的中文改为英文,避免乱码问题。
|
||||||
|
|
||||||
|
## 在 Win10 上编译和运行
|
||||||
|
|
||||||
|
### 方法一:从网络位置编译(推荐)
|
||||||
|
|
||||||
|
1. **打开PowerShell或CMD**
|
||||||
|
2. **切换到项目目录**:
|
||||||
|
```cmd
|
||||||
|
cd \\192.168.6.193\Share\Projects\network-topology-discovery
|
||||||
|
```
|
||||||
|
|
||||||
|
3. **编译程序**:
|
||||||
|
```cmd
|
||||||
|
build.bat
|
||||||
|
```
|
||||||
|
|
||||||
|
4. **运行程序**:
|
||||||
|
```cmd
|
||||||
|
start.bat
|
||||||
|
```
|
||||||
|
|
||||||
|
5. **访问Web界面**:
|
||||||
|
打开浏览器访问:`http://localhost:8080`
|
||||||
|
|
||||||
|
### 方法二:复制到本地编译(更快)
|
||||||
|
|
||||||
|
如果网络位置编译慢,可以:
|
||||||
|
|
||||||
|
1. **复制整个项目到本地**:
|
||||||
|
```cmd
|
||||||
|
xcopy \\192.168.6.193\Share\Projects\network-topology-discovery C:\Projects\network-topology-discovery /E /I
|
||||||
|
```
|
||||||
|
|
||||||
|
2. **切换到本地目录**:
|
||||||
|
```cmd
|
||||||
|
cd C:\Projects\network-topology-discovery
|
||||||
|
```
|
||||||
|
|
||||||
|
3. **编译和运行**:
|
||||||
|
```cmd
|
||||||
|
build.bat
|
||||||
|
start.bat
|
||||||
|
```
|
||||||
|
|
||||||
|
### 方法三:手动命令行编译
|
||||||
|
|
||||||
|
如果批处理脚本有问题,可以手动执行:
|
||||||
|
|
||||||
|
```cmd
|
||||||
|
# 切换到项目目录
|
||||||
|
cd \\192.168.6.193\Share\Projects\network-topology-discovery
|
||||||
|
|
||||||
|
# 编译
|
||||||
|
set GOOS=windows
|
||||||
|
set GOARCH=amd64
|
||||||
|
go build -o network-topology.exe -ldflags="-s -w" ./cmd
|
||||||
|
|
||||||
|
# 运行
|
||||||
|
network-topology.exe
|
||||||
|
```
|
||||||
|
|
||||||
|
## 常见问题
|
||||||
|
|
||||||
|
### 1. 提示 "go.mod file not found"
|
||||||
|
|
||||||
|
**原因**:没有在项目根目录运行脚本
|
||||||
|
|
||||||
|
**解决**:
|
||||||
|
```cmd
|
||||||
|
# 先切换到正确的目录
|
||||||
|
cd \\192.168.6.193\Share\Projects\network-topology-discovery
|
||||||
|
|
||||||
|
# 确认go.mod存在
|
||||||
|
dir go.mod
|
||||||
|
|
||||||
|
# 然后再运行
|
||||||
|
build.bat
|
||||||
|
```
|
||||||
|
|
||||||
|
### 2. 编译后找不到 network-topology.exe
|
||||||
|
|
||||||
|
**原因**:编译失败或输出到错误目录
|
||||||
|
|
||||||
|
**解决**:
|
||||||
|
```cmd
|
||||||
|
# 手动编译并指定输出路径
|
||||||
|
go build -o network-topology.exe ./cmd
|
||||||
|
|
||||||
|
# 检查文件是否存在
|
||||||
|
dir network-topology.exe
|
||||||
|
```
|
||||||
|
|
||||||
|
### 3. 运行时提示 "web目录不存在"
|
||||||
|
|
||||||
|
**原因**:web文件夹不在正确位置
|
||||||
|
|
||||||
|
**解决**:
|
||||||
|
确保目录结构如下:
|
||||||
|
```
|
||||||
|
network-topology-discovery/
|
||||||
|
├── network-topology.exe
|
||||||
|
├── web/
|
||||||
|
│ ├── index.html
|
||||||
|
│ ├── css/
|
||||||
|
│ └── js/
|
||||||
|
└── config.json
|
||||||
|
```
|
||||||
|
|
||||||
|
### 4. 端口8080被占用
|
||||||
|
|
||||||
|
**解决**:
|
||||||
|
编辑 `config.json`,修改端口:
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"web": {
|
||||||
|
"port": 8081
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
## 环境要求
|
||||||
|
|
||||||
|
确保已安装:
|
||||||
|
- ✅ Go 1.22 或更高版本
|
||||||
|
- ✅ Windows 10/11
|
||||||
|
- ✅ 网络连接(访问网络设备)
|
||||||
|
|
||||||
|
检查Go版本:
|
||||||
|
```cmd
|
||||||
|
go version
|
||||||
|
```
|
||||||
|
|
||||||
|
## 快速测试
|
||||||
|
|
||||||
|
编译完成后,可以快速测试:
|
||||||
|
|
||||||
|
```cmd
|
||||||
|
# 1. 编译
|
||||||
|
build.bat
|
||||||
|
|
||||||
|
# 2. 启动
|
||||||
|
start.bat
|
||||||
|
|
||||||
|
# 3. 打开浏览器
|
||||||
|
# 访问: http://localhost:8080
|
||||||
|
|
||||||
|
# 4. 测试添加设备
|
||||||
|
# 点击"添加设备",输入你的设备IP和SSH凭据
|
||||||
|
```
|
||||||
|
|
||||||
|
## 更新项目
|
||||||
|
|
||||||
|
如果从Git仓库更新:
|
||||||
|
|
||||||
|
```cmd
|
||||||
|
# 拉取最新代码
|
||||||
|
git pull
|
||||||
|
|
||||||
|
# 重新编译
|
||||||
|
build.bat
|
||||||
|
|
||||||
|
# 运行
|
||||||
|
start.bat
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
如有其他问题,请查看 README.md 或提交Issue。
|
||||||
@@ -1,29 +1,41 @@
|
|||||||
@echo off
|
@echo off
|
||||||
|
chcp 65001 >nul 2>&1
|
||||||
echo ========================================
|
echo ========================================
|
||||||
echo 网络拓扑发现系统 - 编译脚本
|
echo Network Topology Discovery System - Build Script
|
||||||
echo ========================================
|
echo ========================================
|
||||||
echo.
|
echo.
|
||||||
|
|
||||||
echo [1/3] 清理旧文件...
|
REM Check if go.mod exists
|
||||||
|
if not exist go.mod (
|
||||||
|
echo Error: go.mod not found!
|
||||||
|
echo Please run this script from the project root directory.
|
||||||
|
echo.
|
||||||
|
echo Current directory: %CD%
|
||||||
|
echo.
|
||||||
|
pause
|
||||||
|
exit /b 1
|
||||||
|
)
|
||||||
|
|
||||||
|
echo [1/3] Cleaning old files...
|
||||||
if exist network-topology.exe del network-topology.exe
|
if exist network-topology.exe del network-topology.exe
|
||||||
|
|
||||||
echo.
|
echo.
|
||||||
echo [2/3] 编译程序...
|
echo [2/3] Building program...
|
||||||
set GOOS=windows
|
set GOOS=windows
|
||||||
set GOARCH=amd64
|
set GOARCH=amd64
|
||||||
go build -o network-topology.exe -ldflags="-s -w" ./cmd
|
go build -o network-topology.exe -ldflags="-s -w" ./cmd
|
||||||
|
|
||||||
if %ERRORLEVEL% NEQ 0 (
|
if %ERRORLEVEL% NEQ 0 (
|
||||||
echo.
|
echo.
|
||||||
echo 编译失败!
|
echo Build failed!
|
||||||
pause
|
pause
|
||||||
exit /b 1
|
exit /b 1
|
||||||
)
|
)
|
||||||
|
|
||||||
echo.
|
echo.
|
||||||
echo [3/3] 创建配置文件示例...
|
echo [3/3] Creating config file example...
|
||||||
if not exist config.json (
|
if not exist config.json (
|
||||||
echo 创建默认配置文件...
|
echo Creating default config file...
|
||||||
echo {> config.json
|
echo {> config.json
|
||||||
echo "scan_ranges": ["192.168.1.0/24"],>> config.json
|
echo "scan_ranges": ["192.168.1.0/24"],>> config.json
|
||||||
echo "devices": [],>> config.json
|
echo "devices": [],>> config.json
|
||||||
@@ -45,13 +57,13 @@ if not exist config.json (
|
|||||||
|
|
||||||
echo.
|
echo.
|
||||||
echo ========================================
|
echo ========================================
|
||||||
echo 编译完成!
|
echo Build Complete!
|
||||||
echo ========================================
|
echo ========================================
|
||||||
echo.
|
echo.
|
||||||
echo 运行方式:
|
echo Usage:
|
||||||
echo network-topology.exe (使用默认配置)
|
echo network-topology.exe (Use default config)
|
||||||
echo network-topology.exe config.json (使用指定配置文件)
|
echo network-topology.exe config.json (Use specified config)
|
||||||
echo.
|
echo.
|
||||||
echo 访问地址: http://localhost:8080
|
echo Web UI: http://localhost:8080
|
||||||
echo.
|
echo.
|
||||||
pause
|
pause
|
||||||
|
|||||||
@@ -1,21 +1,23 @@
|
|||||||
@echo off
|
@echo off
|
||||||
|
chcp 65001 >nul 2>&1
|
||||||
echo ========================================
|
echo ========================================
|
||||||
echo 网络拓扑发现系统
|
echo Network Topology Discovery System
|
||||||
echo ========================================
|
echo ========================================
|
||||||
echo.
|
echo.
|
||||||
|
|
||||||
REM 检查可执行文件是否存在
|
REM Check if executable exists
|
||||||
if not exist network-topology.exe (
|
if not exist network-topology.exe (
|
||||||
echo 错误: network-topology.exe 不存在!
|
echo Error: network-topology.exe not found!
|
||||||
echo 请先运行 build.bat 编译程序
|
echo Please run build.bat first to compile the program.
|
||||||
|
echo.
|
||||||
pause
|
pause
|
||||||
exit /b 1
|
exit /b 1
|
||||||
)
|
)
|
||||||
|
|
||||||
REM 检查配置文件
|
REM Check config file
|
||||||
if not exist config.json (
|
if not exist config.json (
|
||||||
echo 提示: config.json 不存在,将使用默认配置
|
echo Info: config.json not found, using default config
|
||||||
echo 正在创建默认配置文件...
|
echo Creating default config file...
|
||||||
echo {> config.json
|
echo {> config.json
|
||||||
echo "scan_ranges": [],>> config.json
|
echo "scan_ranges": [],>> config.json
|
||||||
echo "devices": [],>> config.json
|
echo "devices": [],>> config.json
|
||||||
@@ -36,11 +38,11 @@ if not exist config.json (
|
|||||||
echo.
|
echo.
|
||||||
)
|
)
|
||||||
|
|
||||||
echo 正在启动网络拓扑发现系统...
|
echo Starting Network Topology Discovery System...
|
||||||
echo.
|
echo.
|
||||||
echo ========================================
|
echo ========================================
|
||||||
echo 访问地址: http://localhost:8080
|
echo Web UI: http://localhost:8080
|
||||||
echo 按 Ctrl+C 停止服务
|
echo Press Ctrl+C to stop the service
|
||||||
echo ========================================
|
echo ========================================
|
||||||
echo.
|
echo.
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user