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! 环境配置成功!
相关推荐
小成202303202651 天前
Linux高级02
linux·开发语言
mounter6251 天前
【硬核前沿】CXL 深度解析:重塑数据中心架构的“高速公路”,Linux 内核如何应对挑战?-- CXL 协议详解与 LSF/MM 最新动态
linux·服务器·网络·架构·kernel
++==1 天前
Linux 进程间通信与线程同步技术详解:IPC 机制、线程 API、同步工具与经典同步问题
linux
特长腿特长1 天前
centos、ubantu系列机的用户和用户组的结构是什么?具体怎么配置?用户组权限怎么使用?这篇文章持续更新,帮助你复习linux的基础知识
linux·运维·centos
zzzyyy5381 天前
Linux环境变量
linux·运维·服务器
pluvium271 天前
记对 xonsh shell 的使用, 脚本编写, 迁移及调优
linux·python·shell·xonsh
无级程序员1 天前
centos7 安装 llvm-toolset-7-clang出错的问题解决
linux·centos
CHHC18801 天前
NetCore树莓派桌面应用程序
linux·运维·服务器
云栖梦泽1 天前
Linux内核与驱动:9.Linux 驱动 API 封装
linux·c++
橘子编程1 天前
JavaScript与TypeScript终极指南
javascript·ubuntu·typescript