一、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 mainfunc main() {    println("hello world , hi")}

4、build打包一个可执行二进制文件 hello

go build -o hello ./main.go

此时咱们用tree命令查看一下目录:

➜  hello git:(master) ✗ tree.├── hello└── main.go0 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.go0 directories, 1 file