登录
首页 >  Golang >  Go问答

在Go语言中使用“本地”模块的方法

来源:stackoverflow

时间:2024-03-07 19:09:25 166浏览 收藏

Golang不知道大家是否熟悉?今天我将给大家介绍《在Go语言中使用“本地”模块的方法》,这篇文章主要会讲到等等知识点,如果你在看完本篇文章后,有更好的建议或者发现哪里有问题,希望大家都能积极评论指出,谢谢!希望我们能一起加油进步!

问题内容

我正在使用“微服务”架构构建一个应用程序。 这意味着我有不同的应用程序。 事实上,某些逻辑位于“共享”库中。

查看以下目录结构:

root/
├── service 1/
│   ├── src
│   ├──── app.go
├── service 2/
│   ├── src
│   ├──── app.go
└── lib/
    ├── lib 1
    │   ├── src
    │   ├──── app.go

服务 1服务 2库 1 均使用 go mod 命令进行初始化。

对于服务 1,这会生成一个包含以下内容的 go.mod 文件。

module github.com/kevin-de-coninck/datalytics/services/serviceone

对于服务 2,这会生成一个包含以下内容的 go.mod 文件。

module github.com/kevin-de-coninck/datalytics/services/servicetwo

对于lib 1,这会生成一个包含以下内容的 go.mod 文件。

module github.com/kevin-de-coninck/datalytics/lib/libone

service 1import 语句包含对 lib 1 的引用

import (
    "github.com/kevin-de-coninck/datalytics/lib/libone"
)

但是,当我尝试构建应用程序时,会显示以下输出:

go: finding github.com/kevin-de-coninck/datalytics/lib/libOne latest
go: finding github.com/kevin-de-coninck/datalytics/lib latest
go: finding github.com/kevin-de-coninck/datalytics latest
build github.com/kevin-de-coninck/datalytics/services/serviceOne/src: 
cannot find module for path github.com/kevin-de-coninck/datalytics/lib/libOne

如何解决此问题,以便我可以使用我的 libone 包,而无需将其公开或不在所有服务中复制它?

亲切的问候


解决方案


经过一番折腾,我找到了答案。 看来“go.mod”和“go.sum”文件应该放在“src”目录中。 完成此操作后,可以构建并执行应用程序。

终于介绍完啦!小伙伴们,这篇关于《在Go语言中使用“本地”模块的方法》的介绍应该让你收获多多了吧!欢迎大家收藏或分享给更多需要学习的朋友吧~golang学习网公众号也会发布Golang相关知识,快来关注吧!

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