在 Linux 下进行 Golang 静态编译,你需要设置环境变量 CGO_ENABLED
为 0
,并使用 go build
命令来编译你的程序。这将生成一个不依赖于 C 语言库的可执行文件,因此可以在没有安装 Go 环境的 Linux 系统上运行。
以下是静态编译的步骤:
-
打开终端。
-
设置环境变量
CGO_ENABLED
为0
。这将禁用 CGo,从而确保生成的二进制文件是静态链接的。在终端中输入以下命令:
export CGO_ENABLED=0
- 使用
go build
命令编译你的程序。例如,如果你的 Go 源代码文件名为main.go
,则可以使用以下命令编译:
go build -o myapp main.go
这将在当前目录下生成一个名为 myapp
的可执行文件。这个文件是静态编译的,不依赖于外部的 C 语言库。
- 将生成的可执行文件(在本例中为
myapp
)复制到目标 Linux 系统上,并在没有安装 Go 环境的系统上运行它。由于它是静态编译的,因此不需要担心依赖问题。
注意:静态编译可能会导致生成的可执行文件较大,因为它包含了所有需要的库。如果你希望减小文件大小,可以尝试使用一些工具(如 upx
)来压缩可执行文件。