windows下GO离线安装依赖包

时间:2025-02-16 08:47:22

windows下GO离线安装依赖包

在公司中,研发环境往往是内网环境,无法连接外网,因此在下载GO的依赖包时会遇上一些麻烦,此文用于记录如何解决在内网环境中,安装GO依赖包并使用。


文章目录

  • windows下GO离线安装依赖包
  • 一、外网下载依赖包
  • 二、复制依赖包到离线环境
  • 三、离线环境中配置GO
    • 配置GOPROXY
    • 配置GOSUMDB
  • 四、更新依赖包生成mod文件
  • 总结


一、外网下载依赖包

为了能够获取我们需要的依赖包,我们需要在外网环境中搭建与内网环境一致的GO环境,并使go download下载好所需要的依赖包, 下载的依赖包往往存储在$GOPATH\pkg\mod\cache\download\文件夹下

输入命令获取GOPATH路径

go env GOPATH

例如: GOPATH路径为C:\Go 则到C:\Go\pkg\mod\cache\download下获取下载好的依赖包

注意:下载好的依赖包源码目录是在download文件夹下, 而不是在mod文件夹下

二、复制依赖包到离线环境

由第一步我们获取了下载好的依赖包,同样地我们将下载好的依赖包复制到离线环境中的$GOPATH\pkg\mod\cache\download\路径下,若是贪图方便,可直接将外网环境中的download文件夹替换内网环境中的download文件夹

三、离线环境中配置GO

在部署好依赖包后,依赖包尚不可直接使用,此时在modules下直接使用指令go mod tidy,仍不可获取正确的依赖包并使用,因此我们还需要对GO环境变量进行配置

配置GOPROXY

在离线环境中,我们需要将GOPROXY设置为依赖包所在的目录file:///$GOPATH/pkg/mod/cache/download

例如: GOPATH路径为C:\Go, 则执行指令

go env -w GOPROXY=file:///C:/Go/pkg/mod/cache/download

配置GOSUMDB

在外网环境中,Go会对下载包做安全性校验,此校验需要联网进行,然而我们的线下环境没有此条件,因此需要将该校验关闭。

输入指令

go env -w GOSUMDB=off

注意:在外网环境中,对下载包的安全性校验是很有必要的, 因此外网环境应保持

四、更新依赖包生成mod文件

在完成依赖包的注入以及GO环境变量配置后,此时我们即可成功生成mod
以及sum文件

在模块下输入指令,生成该模块的mod以及sum文件

go mod tidy

总结

本文简单介绍了GO如何在离线环境中引入依赖包并使用,如有不对之处,请各位笔者指出。