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 version 和 go 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! 环境配置成功!
相关推荐
紧跟先前的步伐9 小时前
Go AI Agent 实战 05|Temperature 与生成参数:让模型输出可控
java·人工智能·golang
Zenova EdgeOS10 小时前
Linux 内核日志 dmesg 进阶实战:从现场过滤到持久化闭环
linux·运维·服务器
郝亚军10 小时前
ec_private.pem的生成方法
linux·运维·服务器
NendoZen11 小时前
Arch Linux解决Grub无法SAVEDEFAULT问题(uki启动问题)
linux·运维·服务器
忆挽篱笙歌12 小时前
进程控制管理
linux·运维·服务器
Escalating_xu12 小时前
【Linux 网络编程】connect 的断线重连:用状态机写一个能恢复连接的 TCP 客户端
linux·网络·tcp/ip
Zucker n13 小时前
英语“论文”语法检查工具
linux·windows
苏宸啊14 小时前
Reactor反应堆模式
linux
骇客野人15 小时前
Linux 全套实操方案(含目录详解、文件传输、日志、文件规范、环境变量、Java 应用部署运维)
java·linux·运维
_菜鸟果果15 小时前
高德地图 JS API 2.0 在国产 Linux/ARM 电脑上渲染失败 的排查与解决
linux·开发语言·javascript