上次验证了golang在离线模式下如何导入第三方包的问题
但是在使用过程中又出现了一个新的问题,即新的第三方包从可联网机器导入后,在离线机器上面使用go mod tidy添加新的依赖,或使用go get获取新依赖时出现验证超时。
go get .
go: finding module for package gopkg.in/yaml.v3
go: downloading gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b
go: finding module for package gopkg.in/yaml.v3
person.go:5:2: gopkg.in/yaml.v3@v3.0.0-20210107192922-496545a6307b: verifying module: gopkg.in/yaml.v3@v3.0.0-20210107192922-496545a6307b: Get "https://sum.golang.org/lookup/gopkg.in/yaml.v3@v3.0.0-20210107192922-496545a6307b": dial tcp 142.250.199.81:443: i/o timeout
问题如上,原因时在下载新的第三方包时,内网机器无法连接服务器做依赖包的安全校验。 对于内网机器唯一的做法就是关闭依赖包的安全校验。
go env -w GOSUMDB=off
这样在使用go mod tidy或go get时就可以直接从离线位置获取新的依赖包,并跳过安全校验了。
