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! 环境配置成功!
相关推荐
DigitalOcean19 分钟前
Omarchy 将研发基础设施迁移至 DigitalOcean 云平台
linux·agent
牢姐与蒯24 分钟前
Linux文件(一).前传之基础IO
linux·运维·服务器
码不停蹄Zzz34 分钟前
linux驱动程序入门2
linux
ShineWinsu1 小时前
对于MySQL:内置函数的解析
linux·数据库·c++·mysql·面试·函数·查询
万物智能信息科技1 小时前
RK3568 的多路显示移植—【万物智能之开源鸿蒙OpenHarmony系统实战开发系列教程】
linux·开发语言·华为·开源·harmonyos
IT菜鸟程2 小时前
Ubuntu 下 apt 版 Nginx 升级为源码编译版本完整操作指南(1.24.0 → 1.30.4 实战)
linux·nginx·ubuntu
新时代牛马2 小时前
Linux 磁盘管理:分区、文件系统、挂载与扩容
linux·运维·服务器
weixin_402486342 小时前
VS Code Codex/Claude Extension 无法安装 / 无法正常打开
linux·服务器·vscode
奋斗的阿狸_19862 小时前
ch32v003j4m6+ws2812b方案2:规划引脚定义
linux
Mr-Apple3 小时前
系统找不到指定的文件-CreateInstance/CreateVm/HCS/ERROR_FILE_NOT_FOUND
linux·windows·ubuntu·wsl