Go 安装包前提
- 所有包的安装下载都必须开启 go mod,并且 Go 版本需要大于 1.11
go env -w GO111MODULE=on
- 包下载和安装需要在GOPATH 下一个项目内进行
准备好离线的包
- 在一台有网络的电脑上,执行命令下载, 假设需要安装
kafka-go
go get -d kafka-go
- 如果下载失败,尝试更换一下 下载源
go env -w GOPROXY=
- 找到下载好的环境,在GOPATH下面
pkg\mod\cache\download\
- 将需要的包及其依赖环境打包
- 在没有网络的电脑上,将所有包解压,放在一个目录下,假设为
D:/package
下面 - 设置GOPROXY 为本地环境
go env -w GOPROXY=D:/package
- 设置GOSUMDB 为关闭
go env -w GOSUMDB=off
- 在一个 go mod 开启的项目中执行安装
go get kafka-go
问题解决
-
go get kafka-go: package kafka-go is not in GOROOT, file not found in current directory
- 这是因为操作包安装和下载等操作需要在GOPATH下的GO mod 开启的项目中
- 在GOPATH 下面新建一个项目 XXX,在XXX中执行,
go mod init XXX
- go env -w GO111MODULE=on
-
Get /lookup/ dial tcp 1.1.1.1:443 connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to response
- 将GOSUMDB 检查关闭,
go env -w GOSUMDB=off
- 将GOSUMDB 检查关闭,