【发布时间】:2020-04-30 21:26:54
【问题描述】:
我正在尝试迁移现有的 Go 项目以使用模块,但在确定正确的目录结构时遇到了困难。该 repo 包含两个常规包(p1、p2)以及演示如何使用这些包的示例程序。我正在使用 Go 1.13。
当前布局是
<reponame>
|
+--- p1
| |
| +-- p1a.go
| +-- p1b.go
|
+--- p2
| |
| +-- p2a.go
| +-- p2b.go
|
+-- examples
|
+-- e1.go (which refers to packages p1 and p2)
github 存储库已经公开,版本标签 > 1。我知道我需要一个新的主要编号 v5,所以看起来我需要在包路径中的某个位置使用 v5。
但是应该是<repo>/v5/p1 还是<repo>/p1/v5? go.mod 文件在哪里?我怀疑我需要一个来覆盖这两个包,一个用于示例程序。
我能找到的版本 > 1 的所有示例似乎在模块中只有一个包。
重要的是,我如何让示例编译和运行?我已经为示例尝试了 go.mod 文件的各种排列,但即使使用“replace”指令尝试指向本地,它们也都失败并出现“查询'v5'没有匹配的版本”之类的错误目录。
在我进行本地测试之前,它似乎希望 v5 版本的代码已经发布到 github。
【问题讨论】: