登录
首页 >  Golang >  Go问答

go.mod 文件放置在哪里

来源:stackoverflow

时间:2024-04-16 09:51:33 133浏览 收藏

欢迎各位小伙伴来到golang学习网,相聚于此都是缘哈哈哈!今天我给大家带来《go.mod 文件放置在哪里》,这篇文章主要讲到等等知识,如果你对Golang相关的知识非常感兴趣或者正在自学,都可以关注我,我会持续更新相关文章!当然,有什么建议也欢迎在评论留言提出!一起学习!

问题内容

我的存储库结构如下:-

xyz/src
      1. abc
            - p
            - q
            - r
      2. def
            - t
            - u
            - v
      3. etc
            - o
            - m
            - n

我在 src 中创建了一个 .mod 文件并运行 go build ./... 除了本地包之外一切都很好。因此,如果在 def 中使用 abc/p,则会抛出以下异常:- 找不到提供包 abc/p 的模块。将 .mod 文件保留在 src 包中的想法是确保从 mod 文件所在的位置找到路径。谁能建议 mod 文件理想的位置应该在哪里?我也尝试将其放在 xyz 上方的一个目录中,但仍然存在同样的问题,并且我为每个子目录创建了一个目录。我对此有点困惑。我是否必须为 abc 等创建单独的存储库。但考虑到早期用于相同工作的 gopath,我认为模块也应该能够执行相同的操作。有什么建议吗?


解决方案


最常见和最简单的方法是在存储库中单个 go.mod 文件,该单个 go.mod 文件放置在存储库的根目录中

russ cox 在 #26664 中评论:

模块 wiki says

repo/
├── go.mod      <<<<< note go.mod is located in repo root
├── bar
│   └── bar.go
└── foo
    └── foo.go

在go源码中,包是使用完整路径导入的,包括 模块路径。例如,如果一个模块在其声明中声明了其身份 go.mod 作为 module github.com/my/repo,消费者可以这样做:

import "example.com/my/repo/bar"

从模块 github.com/my/repo 导入包 bar

理论要掌握,实操不能落!以上关于《go.mod 文件放置在哪里》的详细介绍,大家都掌握了吧!如果想要继续提升自己的能力,那么就来关注golang学习网公众号吧!

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