我创建了一个名为 A 的模块并将其推送到我公司的私有(private)仓库。
repo 的地址是 xxx.com/inf/client.git 并且 A 模块是一个子目录,所以 A 模块被命名为 xxx.com/inf/client.git/A
当我使用模块时,我将它导入到我的代码中
import (
"xxx.com/inf/client.git/A"
)
func main() {
A.XXX()
}
当我使用 go build 构建代码时,go module 可以找到模块 A 并开始下载。但问题是有这么多与A相同级别的子目录,它们都会被下载,这是我没想到的。
有人可以帮忙吗?我只想下载 xxx.com/inf/client.git/A 而不下载 xxx.com/inf/client.git/B(C,D...) 因为它们根本没有被使用。
最佳答案
不,这不受支持。
如果由于某种原因您真的不想下载该模块中的其他代码,请在单独的 repo 中创建一个单独的模块。
由于这个原因,几乎没有任何理由创建一个单独的模块。它所做的只是节省了几 kb 的磁盘空间,而且磁盘很便宜——通常比开发人员处理更多存储库/模块所需的时间便宜得多。
关于git - go module 如何只下载存储库子目录中的包?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60665596/