Ubuntu 系统上安装和配置 Go 语言运行环境

Ubuntu 系统上安装和配置 Go 语言运行环境


🚀 方法一:使用官方二进制包安装 (推荐)

这是 Go 官方推荐的方法,可以确保您获得最新版本。

步骤 1: 下载 Go 语言安装包

访问 Go 语言官方下载页面,找到适用于 Linux 的最新版本的压缩包(通常是 .tar.gz 文件)。

您可以使用 wget 命令直接下载到您的 Ubuntu 系统:

Bash

复制代码
# 替换版本号为您希望安装的最新版本
GO_VERSION="1.21.5" # 示例版本号
wget https://golang.google.cn/dl/go${GO_VERSION}.linux-amd64.tar.gz

步骤 2: 解压到 /usr/local 目录

将下载的压缩包解压到 /usr/local 目录。这个目录是推荐的安装位置。

Bash

复制代码
# 删除旧的 Go 安装(如果存在)
sudo rm -rf /usr/local/go 

# 解压文件
sudo tar -C /usr/local -xzf go${GO_VERSION}.linux-amd64.tar.gz

步骤 3: 配置环境变量 (GOPATH 和 PATH)

您需要将 Go 的 bin 目录添加到系统的 PATH 环境变量中,这样才能在任何位置运行 Go 命令。

  1. 打开配置文件: 编辑您的用户配置文件(通常是 ~/.bashrc~/.zshrc,取决于您使用的 Shell)。

    Bash

    复制代码
    nano ~/.bashrc
    # 如果您使用 zsh,则改为 nano ~/.zshrc
  2. 添加以下内容: 在文件末尾添加以下两行。GOROOT 是 Go 的安装路径,GOPATH 是您的工作目录(所有 Go 项目和包的存放位置)。

    Bash

    复制代码
    # Go 环境变量配置
    export GOROOT=/usr/local/go
    export GOPATH=$HOME/go
    export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
  3. 保存并应用配置: 保存文件(在 nano 中按 Ctrl+O,然后按 Enter,再按 Ctrl+X)。然后使配置立即生效:

    Bash

    复制代码
    source ~/.bashrc
    # 或 source ~/.zshrc

步骤 4: 验证安装

运行 go versiongo env 命令来检查 Go 是否已正确安装和配置。

Bash

复制代码
go version
# 应该输出类似:go version go1.21.5 linux/amd64

go env
# 检查 GOROOT 和 GOPATH 是否设置正确

🛠️ 方法二:使用 apt 包管理器安装 (快捷但版本可能较旧)

如果您不追求最新版本,或者只是想快速进行测试,可以使用 Ubuntu 的包管理器。

Bash

复制代码
# 更新软件包列表
sudo apt update

# 安装 golang-go 软件包
sudo apt install golang-go

优点: 简单快捷,安装后通常会自动配置好 PATH。

缺点: 仓库中的 Go 版本可能不是最新的。


🧪 步骤 5: 创建和运行第一个 Go 程序

为了测试运行环境是否完全正常,您可以创建一个简单的 "Hello, Go!" 程序。

  1. 创建项目目录:

    Bash

    复制代码
    mkdir -p $GOPATH/src/hello
    cd $GOPATH/src/hello
  2. 创建 Go 源文件 (main.go):

    Bash

    复制代码
    nano main.go

    输入以下内容:

    Go

    复制代码
    package main
    
    import "fmt"
    
    func main() {
        fmt.Println("Hello, Go! 环境配置成功!")
    }
  3. 运行程序:

    Bash

    复制代码
    go run main.go
    # 输出:Hello, Go! 环境配置成功!
  4. 编译程序 (可选):

    Bash

    复制代码
    go build
    # 这将在当前目录下生成一个名为 'hello' 的可执行文件
    ./hello
    # 输出:Hello, Go! 环境配置成功!
相关推荐
HalvmånEver9 小时前
Linux:命名管道实现IPC(进程间通信七)
linux·运维·服务器·ipc·命名管道·管道pipe
正在学习前端的---小方同学14 小时前
Harbor部署教程
linux·运维
Sean X16 小时前
Ubuntu24.04安装向日葵
linux·ubuntu
IT 乔峰17 小时前
脚本部署MHA集群
linux·shell
dz小伟17 小时前
execve() 系统调用深度解析:从用户空间到内核的完整加载过程
linux
Mr_Xuhhh17 小时前
博客标题:深入理解Shell:从进程控制到自主实现一个微型Shell
linux·运维·服务器
JoyCheung-17 小时前
Free底层是怎么释放内存的
linux·c语言
旖旎夜光18 小时前
Linux(9)
linux·学习
喵了meme19 小时前
Linux学习日记24:Linux网络编程基础
linux·网络·学习
whlqjn_121119 小时前
linux下使用SHC对Shell脚本进行封装和源码隐藏
linux·centos