一、go 打包而进驻文件
1、装置 go 环境
咱们能够从官网 https://go.dev/dl
下载对应零碎的 go 安装文件。
我这里是 mac 零碎,x86 架构,所以我抉择了
装置实现后执行一下 go version 输入如下:
go version go1.19.7 darwin/amd64
2、新建一个试验目录
mkdir hello && cd hello && touch main.go
3、关上 main.go 补充代码
package main
func main() {println("hello world , hi")
}
4、build 打包一个可执行二进制文件 hello
go build -o hello ./main.go
此时咱们用 tree 命令查看一下目录:
➜ hello git:(master) ✗ tree
.
├── hello
└── main.go
0 directories, 2 files
生成了一个 hello 的二进制可执行文件
5、执行一下
➜ hello git:(master) ✗ ./hello
hello world , hi
二、本地打包的环境与版本以及各种依赖问题
咱们发现,在这里,咱们打包的时候,首先下载了 go 的环境。
如果咱们是一个团队,有很多成员,那么首先就须要每个人的环境,都得统一,
这样打包后的文件能力一样。
如果 go 版本不统一的话,那么比我的事 1.14,其余热的 1.19,如果用了新的办法,他在本地发现能用,但同样的代码,到我这就不能用了。
三、docker 打包
如果大家都用 docker 打包,在 docker 外面配置一样的环境和版本,就能够解决下面的问题。
咱们先把 hello 这个文件删掉,只留下 main.go,如下:
➜ hello git:(master) ✗ tree
.
└── main.go
0 directories, 1 file