Go Get 如何指定库的版本

最近修改了一个很早前写的程序,然后在一台新的服务器上进行发布。本以为仅仅改了个参数,直接编译就搞定的事儿,没想到尴尬了!
一开始的报错,着实让人懵逼。后来翻看源码,才发现是依赖的第三方库有了不向下兼容的新版本~

然后继续天真的以为 go get
可以指定版本,可再次被打脸,才不可置信的发现原来老一点版本的golang,对包版本的管理真的很渣。
查了一下资料,golang的包管理相关的解决方案也五花八门,我这边急着发布呢,怎可能静下心来修行呢?!

转念一想, go get
本来就是借助 git
去下载源码的,我为啥不直接去替换掉下载的源码文件呢?

所以你应该知道我的粗暴方案了,就是直接找到那个库的源码文件,然后去它官网的代码仓库中,找到你之前使用的那个版本,然后把代码覆盖掉你本地 go get
的那版,就搞定啦~

问题解决了,是时候静下心来看看golang新版本是如何优雅解决库版本依赖的问题了: 传送门