golang离线环境依赖包问题

问题描述

在一个win10虚拟机中安装了go(go1.16.4)的开发环境, 其中有自己的项目,此时正常编译。

然后将这个虚拟机放到内网,内网网络受限,不允许访问外网

如果新一个依赖包,该怎么办呢?

方法一: 拷贝vendor目录(推荐)

  1. 在外网环境项目目录,生成vendor

go mod vendor

  1. 将vendor拷贝进内网,放在内网项目目录

缺点:只能当前项目使用

优点:体积小

类似python的pip download -r requipment.txt,将包下载后放到一个目录

方法二: 拷贝$GOPATH/pkg/mod目录

  1. 外在更新全局依赖

go mod download

2.拷贝进入内网,替换mod目录

优点:可以被所有项目公用

缺点:有可能会比较大

方法三: 使用自己的goproxy

详细见
https://github.com/goproxyio/goproxy

吐槽

不少资料都是介绍GO111MODULE=on/off/auto之类的查找顺序,看得云山雾绕

假如GO111MODULE=on,并且在内网,此时无法访问网络,难道它不会找一下当前目录中的vendor?

佛說大乘無量壽莊嚴清淨平等覺經pdf
净土大经科注2014-doc
此生必看的科学实验-水知道答案
印光大师十念法(胡小林主讲第1集)

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注