在 Ubuntu 上编译 Go(Golang)程序,通常有两种场景:编译已经写好的 Go 代码 和 从源码编译 Go 工具链本身。下面分别说明。
sudo apt update
sudo apt install golang-go -y
验证:
go version
如果 apt 版本太旧,建议从官网下载最新版: https://go.dev/dl/
mkdir hello && cd hello
nano main.go
package main
import "fmt"
func main() {
fmt.Println("Hello, Ubuntu!")
}
go build
会生成可执行文件:
./hello
例如编译 Linux 64 位:
GOOS=linux GOARCH=amd64 go build
sudo apt install git gcc make -y
git clone https://go.googlesource.com/go
cd go
git checkout go1.22.0 # 指定版本
cd src
./make.bash
编译完成后:
../bin/go version
go: command not found说明 Go 没装好或 PATH 没配置:
export PATH=$PATH:/usr/local/go/bin
go mod init hello
go mod tidy
如果你是想交叉编译 Windows / macOS 程序,或者在 Docker 里编译,可以告诉我具体需求。