Go模块伪版本时间戳不匹配报错求助:xorm依赖问题
Go模块伪版本号不匹配问题解决
问题描述
执行go run .时触发如下错误:
go: github.com/go-xorm/xorm@v0.7.0 requires
github.com/go-xorm/core@v0.0.0-20180322150003-0177c08cee88: invalid pseudo-version: does not match version-control timestamp (2018-03-22T14:29:44Z)
当前go.mod内容:
module github.com/lonng/nanoserver go 1.14 replace ( golang.org/x/crypto => github.com/golang/crypto v0.0.0-20181001203147-e3636079e1a4 golang.org/x/net => github.com/golang/net v0.0.0-20180926154720-4dfa2610cdf3 golang.org/x/sys => github.com/golang/sys v0.0.0-20180928133829-e4b3c5e90611 golang.org/x/text => github.com/golang/text v0.3.0 ) require ( github.com/chanxuehong/rand v0.0.0-20180830053958-4b3aff17f488 // indirect github.com/go-sql-driver/mysql v1.4.0 github.com/go-xorm/core v0.6.0 github.com/go-xorm/xorm v0.7.0 github.com/gorilla/mux v1.6.2 github.com/lonng/nano v0.4.1-0.20190704005402-15209d995681 github.com/lonng/nex v1.4.1 github.com/pborman/uuid v1.2.0 github.com/pkg/errors v0.8.0 github.com/sirupsen/logrus v1.1.0 github.com/spf13/viper v1.2.1 github.com/urfave/cli v1.20.1-0.20190203184040-693af58b4d51 github.com/xxtea/xxtea-go v0.0.0-20170828040851-35c4b17eecf6 golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529 golang.org/x/net v0.0.0-20190509222800-a4d6f7feada5 golang.org/x/text v0.3.2 gopkg.in/chanxuehong/wechat.v2 v2.0.0-20180924084534-7e0579cb5377 )
环境:Go版本go1.14.14 windows/amd64,曾尝试修改github.com/go-xorm/xorm版本为伪版本但未解决问题。
解决方案
1. 修正core模块的伪版本号
伪版本号的时间戳必须与Git提交的实际时间戳完全匹配。报错显示core模块提交0177c08cee88的实际时间是2018-03-22T14:29:44Z,所以需要替换为正确的伪版本:
- 直接修改
go.mod中require块的github.com/go-xorm/core版本为:github.com/go-xorm/core v0.0.0-20180322142944-0177c08cee88 - 或者执行命令自动更新:
go get github.com/go-xorm/core@v0.0.0-20180322142944-0177c08cee88
2. 清理缓存并同步依赖
执行以下命令清除本地模块缓存,让Go重新拉取正确版本的依赖:
go clean -modcache go mod tidy
go mod tidy会自动整理依赖,移除无用模块并确保所有依赖版本匹配。
3. 升级xorm到兼容稳定版
如果v0.7.0版本存在依赖缺陷,可以尝试升级到更高的兼容版本(比如v0.8.0,需确认代码兼容性):
go get github.com/go-xorm/xorm@v0.8.0 go mod tidy
4. 关于忽略时间戳
Go模块机制不支持忽略伪版本的时间戳校验,时间戳是伪版本号的核心组成部分,用于保证依赖的唯一性和正确性,必须使用匹配的时间戳才能通过校验。
内容的提问来源于stack exchange,提问作者Anson Chan
相关产品推荐
相关产品推荐

