Golang Ubuntu编译禁用CGO方法

作者:技术拾光

时间:2026-05-31

浏览:595

在 Ubuntu 上编译 Golang 程序时如何禁用 CGO 在 Ubuntu 环境下编译 Go 程序,有一个相当实用的技巧:通过设置环境变量 CGO_ENABLED 为 0,你可以彻底禁用 CGO。这个操作的结果是,Go 编译器会生成一个完全静态链接的二进制文件,从而摆脱对系统 C 语言库的依赖

文章目录

在 Ubuntu 上编译 Golang 程序时如何禁用 CGO

在 Ubuntu 环境下编译 Go 程序,有一个相当实用的技巧:通过设置环境变量 CGO_ENABLED 为 0,你可以彻底禁用 CGO。这个操作的结果是,Go 编译器会生成一个完全静态链接的二进制文件,从而摆脱对系统 C 语言库的依赖。

Golang Ubuntu编译禁用CGO方法

具体怎么操作呢?其实步骤非常简单,跟着下面几步走就行:

操作步骤

  1. 首先,打开你的终端。

  2. 接下来,设置关键的环境变量。在终端中直接输入下面这条命令:

export CGO_ENABLED=0
  1. 环境变量设置好后,就可以用 go build 命令来编译你的 Go 程序了。举个例子,如果你的主程序文件叫 main.go,那么编译命令就是:
go build main.go
  1. 编译过程结束后,你会在当前目录下找到一个可执行文件,默认名称是 main(当然,文件名会根据你的程序名称变化)。这个文件就是那个不依赖外部 C 库的静态二进制产物。

不过,有得必有失。需要特别注意的是,禁用 CGO 可能会让那些依赖 C 语言库的功能失效。所以,在决定是否禁用时,你得根据自己项目的实际情况,在“独立性”和“功能完整性”之间做个权衡。如果某些功能因此无法工作,可能就需要保留 CGO,或者去寻找其他的替代方案了。

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章