使用xorm模块搭建数据库环境时遇Go依赖版本错误求助
解决Go模块依赖伪版本不匹配的问题
问题原因
你遇到的错误是因为github.com/go-xorm/xorm@v0.7.0依赖的github.com/go-xorm/core伪版本中的时间戳,与该提交在版本控制系统里的实际时间戳不符,Go 1.13+的模块校验机制会拦截这种不匹配情况。
解决方案
1. 替换xorm依赖源
原github.com/go-xorm下的仓库存在维护问题,建议直接使用xorm官方迁移后的模块地址,在项目根目录的go.mod文件中添加替换规则:
replace github.com/go-xorm/xorm => xorm.io/xorm v0.7.0 replace github.com/go-xorm/core => xorm.io/core v0.6.0
2. 清理并重新拉取依赖
执行以下命令清理本地模块缓存,再同步依赖:
go clean -modcache go mod tidy
3. 验证依赖状态
执行go list -m all查看依赖是否正常,确认没有伪版本不匹配的错误提示后,再运行go run .。
备选方案:手动修正伪版本
如果不想替换依赖源,可以直接修改go.mod中github.com/go-xorm/core的版本为正确的伪版本:
github.com/go-xorm/core v0.0.0-20180322142944-0177c08cee88
之后执行go mod tidy更新依赖。
内容的提问来源于stack exchange,提问作者Anson Chan
相关产品推荐
相关产品推荐

