Go 语言模块化编程 ( 五 ) - go module proxies ( 下 )

yufei       5 年, 7 月 前       850

Go 语言模块化编程 ( 五 ) - go module proxies ( 中 ) 文章中我们学习了如何搭建自己的 go module 代理。这是一个非常重要的能力,尤其是公司开发,因为很多内部不方便对外,房子自己的内网服务器上是子安全的。

其实脱臼 ( offline ) 安装 go module 还有另一种方法,就是直接使用本地硬盘上的模块镜像

使用本地目录作为 go module 存储库

使用本地目录作为存储库,其实就不需要 proxy.go 这个代理了。我们可以直接设置环境变量 GOPROXY 为一个完全限定目录即可。

export GOPROXY=file:///Users/yufei/devel/proxy

注意: 是 file:/// ,三个反斜杠。

测试之前,我们需要将先前的下载的缓存删掉,打开 GOPATH/pkg/mod 目录,删除 github.com/ijoywan/demomodcache/download/github.com/ijoywan/demomod 两个目录

然后运行下面的命令

[yufei@www.twle.cn test]$ go build

输出结果如下

go: finding github.com/ijoywan/demomod v1.0.0
go: downloading github.com/ijoywan/demomod v1.0.0

OK. 编译成功

其实,使用本地目录这种机制,是不常用的,公司或团队应该目录搭建自己的 proxy

因为本地目录与已经在 $GOPATH/pkg/mod 下维护的本地缓存没有太大的不同,但我们仍然很高兴知道它的工作原理

其实,已经有一个开放源代码的 proxy 了,地址就是 https://github.com/gomods/athens ,如果你有兴趣,可以使用它来创建自己的代理或者创建一个 go module 中央仓库

目前尚无回复
简单教程 = 简单教程,简单编程
简单教程 是一个关于技术和学习的地方
现在注册
已注册用户请 登入
关于   |   FAQ   |   我们的愿景   |   广告投放   |  博客

  简单教程,简单编程 - IT 入门首选站

Copyright © 2013-2022 简单教程 twle.cn All Rights Reserved.