GO 语言离线安装包

时间:2025-02-16 08:45:20

Go 安装包前提

  1. 所有包的安装下载都必须开启 go mod,并且 Go 版本需要大于 1.11
    • go env -w GO111MODULE=on
  2. 包下载和安装需要在GOPATH 下一个项目内进行

准备好离线的包

  1. 在一台有网络的电脑上,执行命令下载, 假设需要安装 kafka-go
    • go get -d kafka-go
  2. 如果下载失败,尝试更换一下 下载源
    • go env -w GOPROXY=
  3. 找到下载好的环境,在GOPATH下面pkg\mod\cache\download\
  4. 将需要的包及其依赖环境打包
  5. 在没有网络的电脑上,将所有包解压,放在一个目录下,假设为D:/package 下面
  6. 设置GOPROXY 为本地环境
    • go env -w GOPROXY=D:/package
  7. 设置GOSUMDB 为关闭
    • go env -w GOSUMDB=off
  8. 在一个 go mod 开启的项目中执行安装
    • go get kafka-go

问题解决

  1. 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
  2. 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