首页 > 解决方案 > Golang 升级不兼容的模块

问题描述

所以我有一个不兼容的 chi 模块版本,我无法使用go get <package-name>它升级它,只能升级到最新的不兼容版本,而还有很多版本发布。我需要新版本库中不兼容的库中没有的一些功能。go.mod 文件不兼容的库如下所示: github.com/go-chi/chi v4.0.2+incompatible h1:maB6vn6FqCxrpz4FqWdh4+lwpyZIQS7YEAUcHlgXVRs=

我尝试删除我的模块并再次使用 go mod init 运行,但它仍然给我不兼容的版本。我认为这可能是因为我的项目已连接到我的 bitbucket 存储库。我还尝试从 go 环境中删除模块并再次下载,但结果相同。

我该如何克服这个问题?有没有人有任何想法?也许我也必须从我的存储库中手动清除模块,然后尝试再次初始化它们?

谢谢你。

标签: gogo-modules

解决方案


当你想要的版本开始与 Go 模块兼容时,你必须go get依赖并使用正确的版本化导入路径导入源文件中的包,如文件中所声明的那样 go.mod

Chi 的当前go.modmaster 分支将其模块声明为:

module github.com/go-chi/chi/v5

所以:

go get github.com/go-chi/chi/v5

在源文件中:

import "github.com/go-chi/chi/v5"

func main() {
    r := chi.NewRouter()
    // ...
}


推荐阅读