登录
首页 >  Golang >  Go问答

golang中如何导入生成的SDK?

来源:stackoverflow

时间:2024-02-14 09:30:24 383浏览 收藏

你在学习Golang相关的知识吗?本文《golang中如何导入生成的SDK?》,主要介绍的内容就涉及到,如果你想提升自己的开发能力,就不要错过这篇文章,大家要知道编程理论基础和实战操作都是不可或缺的哦!

问题内容

我使用openapi-generator分别生成多个sdk并将其放在同一个父目录中:

sdks
--- bar-api
------ go.mod
--- foo-api
------ go.mod

我希望能够在我的客户端代码中导入 bar-api。最初有 bar-api 的 go.mod 生成为:

module github.com/coolrepo/bar-api
go 1.13

但我无法修复客户端代码中的导入:

bar "github.com/cool-repo/bar-api"

所以我所做的是:

sdks
--- bar-api
------ go.mod
---go.mod

即创建了 sdks/go.mod

module github.com/coolrepo

go 1.13

并手动编辑 bar-api 的 go.mod 为:

module github.com/coolrepo/bar-api

require (
    ...
)

replace github.com/coolrepo => ./..

go 1.15

有更好的办法解决吗?这个似乎可以工作,但是这个替换看起来有点老套。


正确答案


“更好的修复方法”是将所有生成的 Go 包放入单个模块中,而不是将存储库拆分为多个模块。

  1. rm bar-api/go.mod
  2. go mod tidy

如果您需要能够独立于同一存储库中的另一组软件包来标记一组软件包的版本,则只需将存储库拆分为单独的模块。对于生成的服务 API,这可能不值得为多个模块调整版本的开发开销。

今天关于《golang中如何导入生成的SDK?》的内容介绍就到此结束,如果有什么疑问或者建议,可以在golang学习网公众号下多多回复交流;文中若有不正之处,也希望回复留言以告知!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>