安装golang的Shopify/sarama Kafka库时提示io.Discard等未定义错误
报错原因
你遇到的编译报错是因为本地安装的Go语言版本低于1.16。io.Discard、io.ReadAll两个接口是Go 1.16版本才正式新增到标准库io包中的公开API,你当前拉取的最新版Shopify/sarama库已经将最低兼容Go版本调整到了1.16及以上,低版本Go编译该版本sarama时无法识别这两个新接口就会抛出undefined错误。
解决方案
有两种可行解决方式,可根据实际场景选择:
- 方案1:升级本地Go版本
直接将本地Go环境升级到1.16及以上的正式稳定版本,升级完成后重新执行安装命令即可:go get github.com/Shopify/sarama - 方案2:指定安装兼容低版本Go的sarama版本
如果暂时无法升级Go环境,可以指定安装sarama v1.30.0版本,该版本是最后一个支持Go 1.15及更低版本的正式版本,安装命令如下:go get github.com/Shopify/sarama@v1.30.0
内容的提问来源于stack exchange,提问作者eranga
相关产品推荐
相关产品推荐

