1. etcd使用了诸如golint、gosimple、staticcheck、ineffassign等静态分析工具 , 但其中一些工具没有模块意识 , 无法识别模块路径 , 而无法通过必要的检查 。在etcd的这种场景下 , etcd-io/etcd下并没有v3文件夹 , 但是Import导入(或模块路径)包含v3 , 如etcd-io/etcd/v3 。其他工具是模块感知的 , 但必须在新版本的Go 12中可用 。如果构建系统在11之上 , 那么它们也需要迁移到12 。
2. 如果使用了protobuf之类的代码生成器 。更新.proto文件 , 以便使用正确版本的导入生成代码 。
步骤五 : 加入GoCenter在构建过程中 , 您可能会注意到许多go get命令在etcd的不同阶段执行 。
为了加快GoLang应用程序的构建时间 , 并确保etcd ppipeline中使用的Go Module版本的不可变性和可用性 , 使用GoCenter来构建etcd
只需设置GOPROXY=https://gocenter.io 。(详细原理可看上文的Go Proxy 原理图)
总结正如您所看到的 , 将Go项目转换为使用Go Module方式非常简单 , 但是有一些细节可能会减慢您的速度 。通过选择这个具有丰富场景的项目来演示这个过程 , 我们相信我们达到了大多数需要处理的场景 , 为您提供了一个很好的示例 , 覆盖了您可能面临的情况 。
推荐阅读
- 网络安全:这十招可帮助你的网络远离黑客
- 数据库连接池到底应该设多大?这篇文章可能会颠覆你的认知
- 你的养生太极拳姿势正确了吗?鉴定一下
- 五种做法 让你的太极拳具有美容养颜的作用
- 你的失眠还困扰着你吗?太极拳治疗失眠
- 不想让人蹭网?怎样设置可以让你的WIFI对别人隐身不可见?
- 穿出高级感四个秘诀 怎样将针织衫穿出高级感
- 黄瓜|春天减肥,试试这5道“刮油菜”,10分钟端上桌,好吃解腻
- 黑客常用wifi蓝牙分析攻击工具,让你的设备陷入危险之中
- 几秒能产生上千度高温,瞬间将金属烧得通红,感应加热原理是什么
