Go下载依赖包失败的解决方法
jenkins构建job,执行go test命令报如下图的timeout错误
从报错信息中可以看出是因为下载依赖包超时
解决方法:
go env查看go环境变量
GOSUMDB=sum.golang.org,用于验证包的有效性,但是由于这个网站被墙了,所以报timeout
可以通过如下命令关闭:
go env-w GOSUMDB=off
也可以设置 GOSUMDB="sum.golang.google.cn", 这个是专门为国内提供的sum 验证服务
或者通过修改环境变量文件.bash_profile
- vi .bash_profile
- 更改
- source .bash_profile
再次go env查看,改变已生效
改完后,在窗口和jenkins job都试一下(执行go test命令),结果窗口可以,jenkins job依然不行。
真可谓是一坑刚平,一坑又起,因为在slave机器上修改了环境变量文件.bash_profile,是不是jenkins job没有感知到环境变量的更改?
在shell脚本头部加入一行source /Users/xes/.bash_profile,及在执行go test命令前先加载一下环境变量
再次构建jenkins job,成功!