首页主机资讯Golang在Ubuntu上编译流程是什么

Golang在Ubuntu上编译流程是什么

时间2025-10-01 12:06:03发布访客分类主机资讯浏览1286
导读:Golang在Ubuntu上的编译流程 1. 准备工作:安装Golang环境 在编译Golang程序前,需先安装Golang编译器。有两种常见方式: 通过APT包管理器安装(快速,适合大多数场景): 运行以下命令更新包列表并安装Golan...

Golang在Ubuntu上的编译流程

1. 准备工作:安装Golang环境

在编译Golang程序前,需先安装Golang编译器。有两种常见方式:

  • 通过APT包管理器安装(快速,适合大多数场景)
    运行以下命令更新包列表并安装Golang:
    sudo apt update
    sudo apt install golang-go
    
  • 从源码编译安装(适合需要特定版本或自定义的场景)
    先安装依赖项(Git、GCC、Make):
    sudo apt update
    sudo apt install -y git gcc make
    
    克隆Go官方源码仓库:
    git clone https://github.com/golang/go.git
    cd go/src
    
    设置环境变量(用于编译Go本身):
    export GOROOT_BOOTSTRAP=$(pwd)/../..
    export PATH=$GOROOT_BOOTSTRAP/bin:$PATH
    
    编译Go源码:
    cd $GOROOT
    ./all.bash
    
    编译完成后,Go会安装在$HOME/go目录(源码编译方式)或/usr/local/go目录(APT安装方式)。

2. 配置环境变量

无论通过哪种方式安装,都需要配置环境变量以让系统识别Golang命令:
编辑~/.bashrc~/.profile文件,添加以下内容:

export PATH=$PATH:/usr/local/go/bin  # 替换为源码编译的安装路径(如$HOME/go/bin)
export GOPATH=$HOME/go              # 设置工作目录(存放代码和依赖)
export GOBIN=$GOPATH/bin            # 设置二进制文件输出目录
export GO111MODULE=on               # 启用Go Modules(推荐,管理依赖)

使配置生效:

source ~/.bashrc  # 或 source ~/.profile

验证安装:

go version

若输出类似go version go1.21.0 linux/amd64,则说明安装成功。

3. 编写Golang程序

创建项目目录(推荐使用Go Modules管理依赖):

mkdir -p $GOPATH/src/myproject
cd $GOPATH/src/myproject

初始化Go模块(生成go.mod文件,记录依赖信息):

go mod init myproject

创建main.go文件,编写示例程序:

package main
import "fmt"
func main() {

    fmt.Println("Hello, Ubuntu Golang!")
}
    

4. 编译Golang程序

  • 编译单个文件
    main.go所在目录运行:

    go build main.go
    

    生成的可执行文件默认命名为main(Windows下为main.exe)。

  • 编译整个项目
    在项目根目录(含go.mod文件)运行:

    go build
    

    会自动编译项目中的所有依赖,并生成可执行文件。

  • 交叉编译(为其他平台编译)
    例如,为Linux 64位系统编译(无需CGO):

    CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o myproject-linux
    

    生成的myproject-linux可在Linux服务器上运行。

5. 运行编译后的程序

  • 若使用go build生成可执行文件,直接运行:

    ./main  # 或 ./myproject-linux(交叉编译后的文件)
    

    输出:Hello, Ubuntu Golang!

  • 若使用go run直接运行(无需生成可执行文件):

    go run main.go
    

    效果与go build后运行一致。

6. 可选:使用Go Modules管理依赖

若项目需要第三方库,可通过go get命令下载并添加到go.mod文件:

go get github.com/gin-gonic/gin  # 示例:下载Gin框架

之后运行go buildgo run时,Golang会自动处理依赖关系。

以上流程覆盖了Golang在Ubuntu上的完整编译过程,从环境准备到程序运行,适用于大多数开发场景。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Golang在Ubuntu上编译流程是什么
本文地址: https://pptw.com/jishu/715690.html
Ubuntu下Golang编译速度慢怎么破 Ubuntu SELinux如何调优

游客 回复需填写必要信息