增加Redis的调整,直接返回redis对象
This commit is contained in:
208
TROUBLESHOOTING.md
Normal file
208
TROUBLESHOOTING.md
Normal file
@@ -0,0 +1,208 @@
|
||||
# 故障排除指南
|
||||
|
||||
## 常见问题
|
||||
|
||||
### 1. 伪版本错误 (Pseudo-version error)
|
||||
|
||||
**错误信息:**
|
||||
```
|
||||
go: github.com/pmezard/go-difflib@v1.1.1-0.20181226105442-5d4384ee4fb2: invalid pseudo-version: preceding tag (v1.1.0) not found
|
||||
```
|
||||
|
||||
**原因:**
|
||||
- Go 模块缓存损坏
|
||||
- 依赖版本冲突
|
||||
- 间接依赖使用了无效的伪版本
|
||||
|
||||
**解决方案:**
|
||||
|
||||
#### 方案1:清理模块缓存(推荐)
|
||||
|
||||
```bash
|
||||
# 清理 Go 模块缓存
|
||||
go clean -modcache
|
||||
|
||||
# 重新下载依赖
|
||||
go mod download
|
||||
|
||||
# 整理依赖
|
||||
go mod tidy
|
||||
```
|
||||
|
||||
#### 方案2:在调用方项目中解决
|
||||
|
||||
如果是在调用方项目中遇到此问题:
|
||||
|
||||
```bash
|
||||
# 进入调用方项目目录
|
||||
cd /path/to/your/project
|
||||
|
||||
# 清理模块缓存
|
||||
go clean -modcache
|
||||
|
||||
# 删除 go.sum 文件(可选,会自动重新生成)
|
||||
rm go.sum
|
||||
|
||||
# 重新获取依赖
|
||||
go get git.toowon.com/jimmy/go-common@v0.0.1
|
||||
|
||||
# 整理依赖
|
||||
go mod tidy
|
||||
```
|
||||
|
||||
#### 方案3:使用代理(如果网络问题)
|
||||
|
||||
```bash
|
||||
# 设置 Go 代理(国内用户推荐)
|
||||
go env -w GOPROXY=https://goproxy.cn,direct
|
||||
|
||||
# 或者使用官方代理
|
||||
go env -w GOPROXY=https://proxy.golang.org,direct
|
||||
```
|
||||
|
||||
#### 方案4:强制更新依赖
|
||||
|
||||
```bash
|
||||
# 强制更新所有依赖
|
||||
go get -u ./...
|
||||
|
||||
# 或者更新特定依赖
|
||||
go get -u git.toowon.com/jimmy/go-common@latest
|
||||
```
|
||||
|
||||
### 2. 私有仓库访问问题
|
||||
|
||||
**错误信息:**
|
||||
```
|
||||
go: git.toowon.com/jimmy/go-common@v0.0.1: unrecognized import path
|
||||
```
|
||||
|
||||
**解决方案:**
|
||||
|
||||
```bash
|
||||
# 配置 GOPRIVATE
|
||||
go env -w GOPRIVATE=git.toowon.com
|
||||
|
||||
# 配置 Git 认证(如果需要)
|
||||
git config --global url."git@git.toowon.com:".insteadOf "https://git.toowon.com/"
|
||||
```
|
||||
|
||||
详细说明请参考 [SETUP.md](./SETUP.md)
|
||||
|
||||
### 3. 版本标签不存在
|
||||
|
||||
**错误信息:**
|
||||
```
|
||||
go: git.toowon.com/jimmy/go-common@v0.0.1: invalid version: unknown revision
|
||||
```
|
||||
|
||||
**解决方案:**
|
||||
|
||||
1. 确认版本标签已创建并推送:
|
||||
```bash
|
||||
# 在库项目中查看标签
|
||||
git tag -l
|
||||
|
||||
# 如果标签不存在,创建并推送
|
||||
git tag -a v0.0.1 -m "Release v0.0.1"
|
||||
git push origin v0.0.1
|
||||
```
|
||||
|
||||
2. 在调用方项目中清理缓存后重试:
|
||||
```bash
|
||||
go clean -modcache
|
||||
go get git.toowon.com/jimmy/go-common@v0.0.1
|
||||
```
|
||||
|
||||
### 4. 依赖版本冲突
|
||||
|
||||
**错误信息:**
|
||||
```
|
||||
go: conflicting versions for module
|
||||
```
|
||||
|
||||
**解决方案:**
|
||||
|
||||
```bash
|
||||
# 查看依赖树
|
||||
go mod graph | grep conflicting-module
|
||||
|
||||
# 更新冲突的依赖
|
||||
go get -u conflicting-module@latest
|
||||
|
||||
# 整理依赖
|
||||
go mod tidy
|
||||
```
|
||||
|
||||
### 5. 网络连接问题
|
||||
|
||||
**错误信息:**
|
||||
```
|
||||
dial tcp: lookup proxy.golang.org: no such host
|
||||
```
|
||||
|
||||
**解决方案:**
|
||||
|
||||
```bash
|
||||
# 使用国内代理
|
||||
go env -w GOPROXY=https://goproxy.cn,direct
|
||||
|
||||
# 或者使用七牛云代理
|
||||
go env -w GOPROXY=https://goproxy.io,direct
|
||||
|
||||
# 禁用代理(直接访问)
|
||||
go env -w GOPROXY=direct
|
||||
```
|
||||
|
||||
## 通用排查步骤
|
||||
|
||||
如果遇到其他问题,按以下步骤排查:
|
||||
|
||||
1. **清理缓存**
|
||||
```bash
|
||||
go clean -modcache
|
||||
```
|
||||
|
||||
2. **验证模块**
|
||||
```bash
|
||||
go mod verify
|
||||
```
|
||||
|
||||
3. **整理依赖**
|
||||
```bash
|
||||
go mod tidy
|
||||
```
|
||||
|
||||
4. **查看依赖图**
|
||||
```bash
|
||||
go mod graph
|
||||
```
|
||||
|
||||
5. **查看模块信息**
|
||||
```bash
|
||||
go list -m all
|
||||
```
|
||||
|
||||
6. **检查 Go 环境**
|
||||
```bash
|
||||
go env
|
||||
```
|
||||
|
||||
## 获取帮助
|
||||
|
||||
如果以上方法都无法解决问题,请:
|
||||
|
||||
1. 检查 Go 版本(建议使用 Go 1.21 或更高版本)
|
||||
```bash
|
||||
go version
|
||||
```
|
||||
|
||||
2. 查看详细的错误信息
|
||||
```bash
|
||||
go get -v git.toowon.com/jimmy/go-common@v0.0.1
|
||||
```
|
||||
|
||||
3. 检查项目仓库是否有对应的版本标签
|
||||
|
||||
4. 联系项目维护者
|
||||
|
||||
Reference in New Issue
Block a user