363 lines
5.8 KiB
Markdown
363 lines
5.8 KiB
Markdown
# 快速开始指南
|
||
|
||
这是一个详细的、一步一步的安装和运行指南。
|
||
|
||
## 第一步:检查 Go 环境
|
||
|
||
打开终端(Windows: PowerShell 或 CMD,Linux/macOS: Terminal),运行:
|
||
|
||
```bash
|
||
go version
|
||
```
|
||
|
||
**预期输出:**
|
||
```
|
||
go version go1.21.0 windows/amd64
|
||
```
|
||
|
||
**如果显示错误:**
|
||
- 请先安装 Go:https://golang.org/dl/
|
||
- 安装后重启终端
|
||
|
||
---
|
||
|
||
## 第二步:进入项目目录
|
||
|
||
```bash
|
||
# Windows (PowerShell 或 CMD)
|
||
cd D:\Desktop\update\go
|
||
|
||
# Linux/macOS
|
||
cd /path/to/update/go
|
||
```
|
||
|
||
**验证:** 运行 `dir` (Windows) 或 `ls` (Linux/macOS) 应该能看到 `main.go` 和 `go.mod` 文件。
|
||
|
||
---
|
||
|
||
## 第三步:下载依赖
|
||
|
||
```bash
|
||
go mod download
|
||
```
|
||
|
||
**预期输出:**
|
||
```
|
||
go: downloading github.com/gin-gonic/gin v1.9.1
|
||
go: downloading github.com/golang-jwt/jwt/v5 v5.2.0
|
||
go: downloading gorm.io/gorm v1.25.5
|
||
go: downloading gorm.io/driver/sqlite v1.5.4
|
||
go: downloading golang.org/x/crypto v0.17.0
|
||
...
|
||
```
|
||
|
||
**如果下载失败:**
|
||
```bash
|
||
# 设置 Go 代理(中国大陆用户)
|
||
go env -w GOPROXY=https://goproxy.cn,direct
|
||
|
||
# 然后重新运行
|
||
go mod download
|
||
```
|
||
|
||
---
|
||
|
||
## 第四步:整理依赖(生成 go.sum)
|
||
|
||
```bash
|
||
go mod tidy
|
||
```
|
||
|
||
**预期输出:**
|
||
```
|
||
go: downloading github.com/mattn/go-sqlite3 v1.14.17
|
||
go: downloading github.com/jinzhu/now v1.1.5
|
||
go: downloading github.com/jinzhu/inflection v1.0.0
|
||
...
|
||
```
|
||
|
||
这个命令会:
|
||
- ✅ 下载所有缺失的依赖
|
||
- ✅ 移除未使用的依赖
|
||
- ✅ 生成/更新 `go.sum` 文件
|
||
|
||
---
|
||
|
||
## 第五步:验证依赖
|
||
|
||
```bash
|
||
go mod verify
|
||
```
|
||
|
||
**预期输出:**
|
||
```
|
||
all modules verified
|
||
```
|
||
|
||
如果显示错误,请重新运行 `go mod tidy`。
|
||
|
||
---
|
||
|
||
## 第六步:测试编译
|
||
|
||
```bash
|
||
# Windows
|
||
go build -o software-download-center.exe .
|
||
|
||
# Linux/macOS
|
||
go build -o software-download-center .
|
||
```
|
||
|
||
**预期结果:**
|
||
- ✅ 无错误信息
|
||
- ✅ 生成可执行文件(`software-download-center.exe` 或 `software-download-center`)
|
||
|
||
**如果编译失败:**
|
||
- 检查错误信息
|
||
- 确保所有依赖都已下载(重新运行 `go mod tidy`)
|
||
|
||
---
|
||
|
||
## 第七步:运行项目
|
||
|
||
### 方法 1: 直接运行(开发模式)
|
||
|
||
```bash
|
||
# Windows
|
||
go run main.go
|
||
|
||
# Linux/macOS
|
||
go run main.go
|
||
```
|
||
|
||
### 方法 2: 使用编译后的文件
|
||
|
||
```bash
|
||
# Windows
|
||
.\software-download-center.exe
|
||
|
||
# Linux/macOS
|
||
./software-download-center
|
||
```
|
||
|
||
**预期输出:**
|
||
```
|
||
=============================================
|
||
✅ 数据库初始化成功
|
||
✅ 配置缓存初始化成功
|
||
=============================================
|
||
📋 开始注册路由...
|
||
✅ 路由注册成功 [GET ] / (类型: view)
|
||
✅ 路由注册成功 [GET ] /tool-status.json (类型: json)
|
||
...
|
||
📋 路由注册完成!
|
||
|
||
=============================================
|
||
✅ 服务器启动成功
|
||
📡 访问地址: http://localhost:3355
|
||
🌍 当前环境: production
|
||
🔄 兼容旧版访问:支持 /tool-status.json /update-info.json /media-types.json
|
||
=============================================
|
||
```
|
||
|
||
---
|
||
|
||
## 第八步:访问应用
|
||
|
||
1. **打开浏览器**
|
||
2. **访问主页**:http://localhost:3355
|
||
3. **访问后台管理**:http://localhost:3355/admin
|
||
|
||
---
|
||
|
||
## 常见问题解决
|
||
|
||
### 问题 1: `missing go.sum entry`
|
||
|
||
**错误信息:**
|
||
```
|
||
missing go.sum entry for module providing package github.com/gin-gonic/gin
|
||
```
|
||
|
||
**解决方法:**
|
||
```bash
|
||
go mod tidy
|
||
```
|
||
|
||
---
|
||
|
||
### 问题 2: 依赖下载失败
|
||
|
||
**错误信息:**
|
||
```
|
||
go: github.com/gin-gonic/gin@v1.9.1: Get "https://proxy.golang.org/...": dial tcp: lookup proxy.golang.org: no such host
|
||
```
|
||
|
||
**解决方法:**
|
||
```bash
|
||
# 设置 Go 代理
|
||
go env -w GOPROXY=https://goproxy.cn,direct
|
||
|
||
# 重新下载
|
||
go mod download
|
||
go mod tidy
|
||
```
|
||
|
||
---
|
||
|
||
### 问题 3: 编译错误
|
||
|
||
**错误信息:**
|
||
```
|
||
# software-download-center/utils
|
||
utils\route-utils.go:51:29: invalid operation
|
||
```
|
||
|
||
**解决方法:**
|
||
```bash
|
||
# 清理并重新编译
|
||
go clean
|
||
go mod tidy
|
||
go build -o software-download-center.exe .
|
||
```
|
||
|
||
---
|
||
|
||
### 问题 4: 端口被占用
|
||
|
||
**错误信息:**
|
||
```
|
||
listen tcp :3355: bind: address already in use
|
||
```
|
||
|
||
**解决方法:**
|
||
```bash
|
||
# Windows (PowerShell)
|
||
$env:PORT="8080"; go run main.go
|
||
|
||
# Windows (CMD)
|
||
set PORT=8080 && go run main.go
|
||
|
||
# Linux/macOS
|
||
PORT=8080 go run main.go
|
||
```
|
||
|
||
---
|
||
|
||
### 问题 5: 数据库初始化失败
|
||
|
||
**错误信息:**
|
||
```
|
||
数据库初始化失败: open data/app.db: The system cannot find the path specified
|
||
```
|
||
|
||
**解决方法:**
|
||
```bash
|
||
# 手动创建 data 目录
|
||
# Windows
|
||
mkdir data
|
||
|
||
# Linux/macOS
|
||
mkdir -p data
|
||
|
||
# 然后重新运行
|
||
go run main.go
|
||
```
|
||
|
||
---
|
||
|
||
## 完整命令清单(复制粘贴)
|
||
|
||
### Windows (PowerShell)
|
||
|
||
```powershell
|
||
# 1. 检查 Go 版本
|
||
go version
|
||
|
||
# 2. 进入项目目录
|
||
cd D:\Desktop\update\go
|
||
|
||
# 3. 下载依赖
|
||
go mod download
|
||
|
||
# 4. 整理依赖
|
||
go mod tidy
|
||
|
||
# 5. 验证依赖
|
||
go mod verify
|
||
|
||
# 6. 测试编译
|
||
go build -o software-download-center.exe .
|
||
|
||
# 7. 运行项目
|
||
go run main.go
|
||
```
|
||
|
||
### Windows (CMD)
|
||
|
||
```cmd
|
||
REM 1. 检查 Go 版本
|
||
go version
|
||
|
||
REM 2. 进入项目目录
|
||
cd D:\Desktop\update\go
|
||
|
||
REM 3. 下载依赖
|
||
go mod download
|
||
|
||
REM 4. 整理依赖
|
||
go mod tidy
|
||
|
||
REM 5. 验证依赖
|
||
go mod verify
|
||
|
||
REM 6. 测试编译
|
||
go build -o software-download-center.exe .
|
||
|
||
REM 7. 运行项目
|
||
go run main.go
|
||
```
|
||
|
||
### Linux/macOS
|
||
|
||
```bash
|
||
# 1. 检查 Go 版本
|
||
go version
|
||
|
||
# 2. 进入项目目录
|
||
cd /path/to/update/go
|
||
|
||
# 3. 下载依赖
|
||
go mod download
|
||
|
||
# 4. 整理依赖
|
||
go mod tidy
|
||
|
||
# 5. 验证依赖
|
||
go mod verify
|
||
|
||
# 6. 测试编译
|
||
go build -o software-download-center .
|
||
|
||
# 7. 运行项目
|
||
go run main.go
|
||
```
|
||
|
||
---
|
||
|
||
## 下一步
|
||
|
||
- 📖 查看 [README.md](./README.md) 了解完整功能
|
||
- 🔧 查看 [ADMIN.md](./ADMIN.md) 了解后台管理
|
||
- 📦 查看 [BUILD.md](./BUILD.md) 了解打包部署
|
||
|
||
---
|
||
|
||
## 需要帮助?
|
||
|
||
如果遇到问题:
|
||
1. 检查 Go 版本:`go version`(需要 >= 1.21)
|
||
2. 检查网络连接(下载依赖需要)
|
||
3. 查看错误信息并参考上面的"常见问题解决"
|
||
4. 运行 `go mod tidy` 重新整理依赖
|