工作项目实战:go项目版本升级(gov1.14 -> v1.20)

背景

4年前的老项目,底层容器是1.18的版本,与当前k8s官方主流和最新的版本相差较大,近期底层需要做1.18 -> 1.28的升级,于是平台联动升级。经过调研,目前确定的升级内容是两部分

  1. go版本从1.14 -> 1.20.8
  2. k8s的api版本从1.18 -> 1.28.2

本篇文章主要讲go版本的升级过程以及遇到的问题,下一篇会介绍k8s api的升级过程和遇到的问题,敬请期待。

升级方案

  1. 下载和部署go1.20.8的环境
    如下图,直接使用goland中下载对应版本的go环境即可。


  2. 修改项目中go mod中go版本


  3. 使用go mod tidy -v更新依赖

  4. 启动,解决启动中依赖问题

遇到的问题

  1. 遇到runtime报错


上边报错原因经过定位是因为原先的go mod中写死了x/sys的版本golang.org/x/sys => golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a
删除该行,让go自己获取sys的对应包,问题得到解决

最终结果

项目的go版本顺利升级到v1.20.8,实现预期。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容