![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
go
雪峰流云
以技术为乐的程序猿!
展开
-
go连接Kafka报错kafka: client has run out of available brokers to talk to
问题出现的场景:有个go写的项目,原来是用go vendor来管理依赖包的,现在改为是用go module方式了,转换之后,编译成功,发现了上面的错误。很显然连接kafka集群报错了。问题的原因:网上搜了下,很多说是防火墙啥的问题,其实不是。本质原因是,我项目使用的如下kafka客户端库github.com/Shopify/sarama版本升级到当前最新版,这个最新版无法连接kafka集群,换为原来的旧版本就没有问题。大家不要被报错内容迷惑,跟客户端多少没有关系的。特此记录一下,以作原创 2021-01-21 21:21:38 · 14647 阅读 · 1 评论 -
使用govendor灵活管理Go程序中的依赖包
业务痛点使用Go开发程序的过程中,为了方便开发,往往会引用很多标准库或者第三方的依赖包,第三方依赖包往往比标准库功能更全面更强大更接地气,那么如何管理众多的第三方依赖包呢?如何更新其版本?在不需要时,如何删除掉呢?如果有工具能帮助解决这个问题就好了,好在Go中前辈们其实早就想到了这个痛点,有个第三方的库govendor就能完美解决这些问题,让我们更舒心地使用依赖库,只需要很少的几行命令就能搞定...原创 2020-03-14 11:46:10 · 908 阅读 · 0 评论 -
在Mac上设置环境变量并永久生效的方法
原由我使用Go来开发程序,安装govendor之后发现命令行中执行govendor无效,需要将govendor所在的路径添加到PATH环境变量中。Mac中的环境变量介绍Mac系统的环境变量,加载顺序为:/etc/profile /etc/paths ~/.bash_profile ~/.bash_login ~/.profile ~/.bashrc当然/etc/profile和...原创 2020-03-14 10:57:11 · 23801 阅读 · 3 评论 -
使用Go语言遇到的“坑”收集
1.今天在线上一台虚机CentOS 7上执行一个go test的命令,发现如下奇怪的报错:exec: "gcc": executable file not found in PATH解决方案:执行如下命令安装GCC,原来系统中的确之前没有安装过GCCsudo yum install gcc #安装GCCwhich gcc/usr/bin/gcc #验证安装完毕...原创 2020-03-05 20:18:52 · 334 阅读 · 0 评论 -
在macOS 10.13.6上安装go 1.13.8实录
因为一些原因,需要在rMBP上开发Go程序,下面记录一下在macOS 10.13.6上安装Go 1.13.8的过程。其实整个过程非常简单,使用HomeBrew来安装和升级软件非常方便。就一行命令搞定:brew install go安装完成之后,需要检查一下版本号和$GOROOT和$GOPATH基本安装信息我可以在$GOPATH/src下写代码并编译,对于程序中所依赖...原创 2020-02-16 22:09:46 · 2166 阅读 · 0 评论 -
Go的日志模块glog调研笔记
glog简介glog是著名的google开源C++日志库glog(https://github.com/google/glog)的golang版本,glog是一个轻量级的日志库,上手简单不需要配置文件并且稳定高效,可以自定义控制的内容比较少。glog主要有以下几个特点:1. glog有四种日志等级INFO < WARING < ERROR < FATAL,不同等级的日志...原创 2019-05-28 14:31:05 · 2209 阅读 · 0 评论 -
在Ubuntu 16.04.6 LTS上升级Go到最新版1.12.5实录
上一次我在Ubuntu 16.04.3 LTS上从源码安装了Go,当时最新的版本是1.10,参见我之前的博文https://blog.csdn.net/tao_627/article/details/79375950这里,我想将Go更新到现在的最新版本,下面是我的折腾过程,很简单,只需要替换Go语言的源码文件就可以了。从Go的官网上下载最新的源码包,我这里选择go1.12.5.linu...原创 2019-05-27 14:38:39 · 5308 阅读 · 0 评论 -
在Ubuntu 16.04.04 LTS上调研QUIC开源项目minq笔记
minq项目的主旨是minimum quic(最小化实现的QUIC),指最简单的QUIC项目,目前只实现了IETF QUIC的draft 5部分功能,远不成熟,不能用于生产环境。它内部依赖LTS 1.3的go开源实现项目minthttps://github.com/bifurcation/mint下面开始安装cd ${GOPATH}/srcgo get github.com/ekr/minqcd ...原创 2018-03-22 13:18:07 · 765 阅读 · 1 评论 -
在CentOS 6.9上从源码安装Go 1.10
详见本博博文http://blog.csdn.net/tao_627/article/details/79375950这里只是简单记录一下实操步骤,假定用户为root:wget https://dl.google.com/go/go1.10.linux-amd64.tar.gztar zxvf go1.10.linux-amd64.tar.gz -C /usr/local创建项目目录cd /roo...原创 2018-03-16 18:06:15 · 1960 阅读 · 1 评论 -
在Ubuntu 16.04.3 LTS上运行go+https+json示例
下面是我依据网上资料的实操过程,记录以作备忘。该示例给出了https通信并处理json文件的例子。平台:Ubuntu 16.04.3 LTSgo版本:1.101.生成自签名的服务器端的私钥KEY和公钥证书openssl genrsa -out server.key 2048openssl req -new -x509 -key server.key -out server.crt -days 36...原创 2018-03-09 10:28:42 · 593 阅读 · 0 评论 -
在Ubuntu 16.04.3 LTS上安装Go 1.10
升级Go新版本的原因目前Ubuntu 16.04.3上最新的二进制Go版本是1.6.2,运行github上的一个大的go项目,发现context包在go版本1.6以上和以下的import方式有差异在go1.7及以上版本context包被正式列入官方库中,所以我们只需要import "context"就可以了,而在go1.6及以下版本,我们要import "golang.org/x/net/cont...原创 2018-02-26 13:09:34 · 21293 阅读 · 1 评论 -
在Ubuntu 16.04.3 LTS上搭建Go语言环境实录
1.安装sudo apt-get install golang-go目前go的最新版本是1.9.2,但是在Ubuntu 16.04上采用预编译好的包安装的话,只能是go 1.6.x版本。安装完成之后,查看go的版本号2.配置环境变量假定我的go脚本存放在~/program_develop/go_demo下面,按照go的workspace设计,在下面依原创 2017-12-09 14:29:25 · 15825 阅读 · 0 评论 -
在Ubuntu 16.04.3 LTS上运行go install出错的问题
1.我在.go文件的当前目录下面运行go install出现下面的错误:go install hello.gogo install: no install location for .go files listed on command line (GOBIN not set)此时设置了GOPATH宏,但是没有GOBIN解决方法:将project的bin目录设置为G原创 2017-12-09 13:37:20 · 1834 阅读 · 0 评论 -
在Ubuntu 12.04 64bit上配置,安装和运行go程序
注意:下面的安装配置均遵从官网或是教材中的部分内容.一.下载和安装go在Ubuntu12.04上如果使用go安装包安装,只需在命令行输入sudo apt-get install golang-go下面我们关注更具普遍性的源码安装方式,它在linux发行版本中都是适用的.进入go语言的官网http://golang.org/根据操作系统和CPU架构选择所要原创 2013-12-07 20:42:34 · 10857 阅读 · 0 评论