您的位置:首页 >如何在ubuntu上编译golang命令行工具
发布于2026-04-24 阅读(0)
扫一扫,手机访问

想在 Ubuntu 系统上把 Go 代码变成好用的命令行工具?这事儿其实没想象中那么复杂。只要环境搭好,几步操作就能搞定。下面这份手把手的指南,能帮你从零开始,完成编译到打包的全过程。
工欲善其事,必先利其器。动手之前,得先确保你的 Ubuntu 系统已经准备好了两样东西。
安装 Go 语言环境:这是最基础的一步。如果你的系统里还没有 Go,打开终端,用下面这两条命令就能轻松搞定:
sudo apt update
sudo apt install golang-go
设置 Go 环境变量:安装完成后,环境变量通常会自动配置好。不过,检查一下总没错。运行下面这两个命令,看看 GOPATH 和 GOROOT 有没有正确输出:
echo $GOPATH
echo $GOROOT
如果返回是空的,那就需要手动设置一下了。执行以下命令:
export GOPATH=$HOME/go
export PATH=$PATH:$GOPATH/bin:$GOROOT/bin
当然,为了让这个设置每次开机都生效,别忘了把它们添加到你的 ~/.bashrc 或者 ~/.profile 文件末尾。
环境准备好了,接下来就是实战环节。从创建项目到最终运行,我们一步步来。
创建 Go 项目目录:首先,给你的工具找个“家”。在工作目录下,新建一个文件夹并进入:
mkdir my-cli-tool
cd my-cli-tool
初始化 Go 模块:现代 Go 项目都推荐使用模块管理。用一条命令初始化它:
go mod init my-cli-tool
编写 Go 代码:现在,创建程序的入口文件 main.go。这里给一个简单的示例,它可以根据输入的命令做出不同响应:
package main
import (
"fmt"
"os"
)
func main() {
if len(os.Args) < 2 {
fmt.Println("Usage: my-cli-tool ")
os.Exit(1)
}
command := os.Args[1]
switch command {
case "hello":
fmt.Println("Hello, World!")
default:
fmt.Printf("Unknown command: %s\n", command)
os.Exit(1)
}
}
编译 Go 代码:重头戏来了。使用 Go 自带的构建命令,将代码编译成可执行文件:
go build -o my-cli-tool
执行成功后,当前目录下就会生成一个名叫 my-cli-tool 的二进制文件。
运行编译后的命令行工具:是骡子是马,拉出来溜溜。运行它并试试“hello”命令:
./my-cli-tool hello
如果一切顺利,终端上会亲切地显示:
Hello, World!
看到这行字,恭喜你,你的第一个 Go 命令行工具已经成功跑起来了!
工具自己能用还不够,如果你想分享给别人,或者部署到服务器上,就需要考虑打包和优化了。目标很明确:让文件更小,更独立。
这里有个组合拳:先用 Go 的链接器参数去掉调试信息,再用压缩工具进一步“瘦身”。首先,把压缩工具装上:
sudo apt install upx-ucl
然后,执行这套编译压缩连招:
go build -ldflags "-s -w" -o my-cli-tool
upx --best my-cli-tool
这样一来,你得到的可执行文件体积会小很多,分发和传输起来就方便多了。
按照上面这些步骤走一遍,在 Ubuntu 上编译和打包 Go 命令行工具,基本上就没什么障碍了。整个过程清晰直接,剩下的,就是发挥你的创意去开发更强大的工具了。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
9