在 Ubuntu 上编译 Go 语言命令行工具,可以按照以下步骤进行:
安装 Go 语言环境: 确保你已经安装了 Go 语言。如果没有安装,可以通过以下命令安装:
sudo apt update
sudo apt install golang-go
设置 Go 环境变量: 确保 Go 的环境变量已经正确设置。通常情况下,安装 Go 后会自动设置这些变量,但你可以通过以下命令检查和设置:
echo $GOPATH
echo $GOROOT
如果没有设置,可以手动设置:
export GOPATH=$HOME/go
export PATH=$PATH:$GOPATH/bin:$GOROOT/bin
为了使这些设置永久生效,可以将它们添加到你的 ~/.bashrc 或 ~/.profile 文件中。
创建 Go 项目目录: 在你的工作目录下创建一个新的 Go 项目目录,例如:
mkdir my-cli-tool
cd my-cli-tool
初始化 Go 模块:
使用 go mod init 命令初始化一个新的 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 <command>")
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 build 命令编译你的 Go 代码。这将生成一个可执行文件:
go build -o my-cli-tool
运行编译后的命令行工具: 编译完成后,你可以直接运行生成的可执行文件:
./my-cli-tool hello
输出应该是:
Hello, World!
如果你希望将你的命令行工具打包成一个可分发的二进制文件,可以使用 go build 命令的 -ldflags 选项来去除调试信息,并使用 upx 工具进行压缩。首先,安装 upx:
sudo apt install upx-ucl
然后,使用以下命令编译并压缩你的工具:
go build -ldflags "-s -w" -o my-cli-tool
upx --best my-cli-tool
这样,你就可以得到一个更小的可执行文件,方便分发和安装。
通过以上步骤,你可以在 Ubuntu 上成功编译 Go 语言命令行工具。