发布于2026-07-16 阅读(0)
扫一扫,手机访问
在Ubuntu上快速打包Go项目,其实比想象中要简单。只要把环境搭好、流程理顺,几分钟就能搞定一个可部署的可执行文件。接下来,我们把整个过程拆开来看。

安装Go编译器
这一步没什么悬念——系统里得先有Go。如果还没装,打开终端跑几行命令就能搞定:
sudo apt update
sudo apt install golang-go
注意,apt源里默认的Go版本可能不是最新的,但对于普通项目来说足够用了。如果非要最新版,去官网下载二进制包手动扔到/usr/local也行。
设置GOPATH和GOROOT环境变量
装好之后,得让系统知道Go的“家”在哪。把下面这几行加到~/.profile里,再让它生效:
echo "export GOROOT=/usr/lib/go" >> ~/.profile
echo "export GOPATH=$HOME/go" >> ~/.profile
echo "export PATH=$PATH:$GOROOT/bin:$GOPATH/bin" >> ~/.profile
source ~/.profile
这里有个小坑:有些Ubuntu发行版默认Go装在/usr/lib/go,但如果你手动装到别处,记得把路径换成实际的。另外,GOPATH最好设成用户目录下的go文件夹,省得跟系统全局混在一起。
编写Go项目
项目结构其实很自由,但推荐用最经典的布局:
my_project/
├── main.go
└── go.mod
一个入口文件加一个依赖管理文件,清爽又清晰。注意,如果你的项目依赖比较多,go.mod就是核心,没有它后面会乱成一团。
使用Go Modules管理依赖
在项目根目录下执行:
go mod init
通常填项目的远程地址,比如github.com/yourusername/my_project。这一步会生成go.mod文件,后面再go build的时候,Go会自动下载依赖写入go.sum。
编译Go项目
最核心的打包动作来了——直接编译:
go build -o my_project
这会在当前目录生成一个名为my_project的可执行文件。注意,Go的静态编译特性让这个文件几乎“零依赖”,复制到其他Linux机器上就能跑,这是Go项目部署的一大优势。
打包Go项目
编译出来的单个二进制文件已经可以直接用了,但如果要分发或存档,通常习惯打成tar.gz包。先跳转到$GOPATH/bin目录(因为go build如果不指定路径,默认生成在GOPATH/bin下,除非你用了-o指定了路径),然后执行:
cd $GOPATH/bin
tar -czvf my_project.tar.gz my_project
这样就把my_project压缩成my_project.tar.gz了。当然,你也可以直接把main.go和go.mod一起打包,方便别人在自己环境里重新编译。不过既然我们已经拿到了独立的可执行文件,直接扔这个tar.gz给服务器或同事就万事大吉。
整个过程走下来,其实就是“装环境—写代码—编译—压缩”四步。Go的静态编译和单文件产出,让打包和部署变得特别省心。如果你还在用动态语言,不妨试试这个流程,体验一下“编译完就跑”的爽快感。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8