go list -m -versions gopkg.in/urfave/cli.v1
给了我以下版本列表,最新版本为 1.20.0:
gopkg.in/urfave/cli.v1 v1.0.0 v1.1.0 v1.2.0 v1.3.0 v1.3.1 v1.4.0 v1.4.1 v1.5.0 v1.6.0 v1.7.0 v1.7.1 v1.8.0 v1.9.0 v1.10.0 v1.10.1 v1.10.2 v1.11.0 v1.11.1 v1.12.0 v1.13.0 v1.14.0 v1.15.0 v1.16.0 v1.16.1 v1.17.0 v1.17.1 v1.18.0 v1.18.1 v1.19.0 v1.19.1 v1.20.0
但是,根据gopkg.in, 1.22.4 应该是最新版本。1.22.4 也是包的 GitHub repo上的最新版本。
我应该如何解决这个问题?似乎它可能是一个缓存问题。
背景信息:存储库最初具有基于 dep 的依赖项列表 (Gopkg.toml),其版本为 1.20。我更喜欢模块,所以我将 go.mod 初始化为go mod init $REPO_URL
. 后来我从 repo 中提取了最新的提交,它的包版本更新到了 1.22。我尝试重新创建go.mod
;它首先表明该步骤存在问题:
go: converting Gopkg.lock: stat gopkg.in/urfave/cli.v1@v1.22.0: gopkg.in/urfave/cli.v1@v1.22.0: invalid version: go.mod has non-....v1 module path "github.com/urfave/cli" at revision v1.22.0
最后,我得到了需要 1.22 版本的代码,但是这些工具获取的 1.20 版本不向前兼容,因此无法编译。