go 离线编译安装组件

当生产环境无法联网时,无法使用go get安装插件或应用。本文介绍了go get的工作原理,并提供了一种离线编译安装的方法:先在有网络的环境中下载源码,然后将源码拷贝到目标环境,执行go install进行编译安装。
摘要由CSDN通过智能技术生成

背景:

在某些环境和条件下,生产环境无法连接网络,导致无法使用go get的方式直接安装go插件或应用。

原理解析:

在介绍解决方案之前,我们先来理解下go get的原理。

go get实际上是先把代码从github.com上面下载到本地,具体位置为$GOPATH

假设我下载项目地址为 github.com/beego/bee

[root@sintopan gopath]# echo $GOPATH

/opt/gopath

[root@sintopan gopath]# tree src -L 3

src

└── github.com

└── beego

└── bee

这其中为自动解析并下载所关联的github.com的其他组件或项目,非常方便,如果我们网络无法连接,则需要把这个下载完成的src目录,拷贝到另外一台服务器,然后执行go install。

所以,go get 的原理就是,第一步就是git 项目,第二步就是go install,自动编译安装。然后在$GOPATH的bin目录下生成一个二进制文件。

操作实践:

[root@sintopan gopath]# tree -L 3

.

├── bin

│   └── bee

└── src

└── github.com

└── beego

现在我们将该源码包打包,解压到windows平台下的go环境进行编译安装。

Windows下的go环境如下:

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值