我go.mod
里面有文件root/src/abc
。在root/build-scripts
我有一个脚本,它执行go get
. 当我使用 Go 1.11 时,我没有使用 go 路径,而是使用 mod 文件root/src/abc
处理其他导入,除了构建脚本中使用的包会产生错误:
go:无法确定源目录的模块路径。
有什么建议?
我的存储库结构如下:-
xyz/src
1. abc
- p
- q
- r
2. def
- t
- u
- v
3. etc
- o
- m
- n
Run Code Online (Sandbox Code Playgroud)
我在 src 中创建了一个 .mod 文件并运行 go build ./... 除了本地包之外,一切都很好。因此,如果在 def 中使用 abc/p,则会抛出以下异常:- 找不到提供包 abc/p 的模块。将 .mod 文件保留在 src 包中的想法是确保从 mod 文件所在的位置找到路径。谁能建议 mod 文件理想的位置应该在哪里?我也尝试将其放在 xyz 上方的一个目录中,但仍然存在同样的问题,并且我为每个子目录创建了一个目录。我对此有点困惑。我是否必须为 abc 等创建单独的存储库。但考虑到早期用于相同工作的 gopath,我认为模块也应该能够执行相同的操作。有什么建议么?