【问题标题】:How to reference v2.0.0 of a Go package that doesn't adhere to the major sub folder convention as a module如何将不遵守主要子文件夹约定的 Go 包的 v2.0.0 引用为模块
【发布时间】:2019-08-20 02:31:17
【问题描述】:

我们正在确定如何或确实可以将堆栈迁移到 Go 模块。我们依赖 v2.0.0 https://github.com/gbrlsnchs/jwt,但它本身既不转换为模块,也不遵守将主要版本放在子文件夹下的 Go 约定。

在将我们的内部包转换为具有此依赖关系的模块时,我们有哪些选择?

【问题讨论】:

  • 你有没有要求包作者提供 Go 模块和版本形式的包?
  • 还没有。我希望混合模型以某种方式成为可能,以便包作者可以在他们自己的时间进行迁移。否则我们会受到我目前理解的每一个直接和间接依赖项的约束?
  • 这是一个 go 模块,带有最新标签 v2.0.0。只需在他们的 github 中导入“github.com/gbrlsnchs/jwt/v2”(您只需通过jwt 调用它),他们就有一个示例。或者我不明白你的问题......

标签: go go-modules


【解决方案1】:

github.com/gbrlsnchs/jwtv2.0.0 有一个go.mod 文件,表明其规范导入路径为github.com/gbrlsnchs/jwt/v2

更新您的import 语句以使用该路径——在 Go 1.9.7、1.10.3、1.11.0 及更高版本中使用“minimal module compatibility”也应该可以在 GOPATH 模式下工作——您应该很擅长去吧。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-05-30
    • 1970-01-01
    • 1970-01-01
    • 2020-11-25
    • 1970-01-01
    • 2017-04-21
    • 2015-08-17
    • 2023-04-03
    相关资源
    最近更新 更多