如何在Linux中编译安装Golang_Golang源码安装与环境配置教程

20次阅读

答案:通过下载 go 源码、编译并配置环境变量可在 linux 系统中成功安装 Go 语言 环境。首先从官网下载 go1.21.5.src.tar.gz 源码包并解压,接着安装 gcc、make 等依赖 工具 ,进入 go/src 目录运行。/all.bash 脚本完成编译,看到“ALL TESTS PASSED”表示成功;然后设置 GOROOT 指向 Go 安装目录,GOPATH 为工作区路径,并将 $GOROOT/bin 和 $GOPATH/bin 添加到 PATH 中,最后执行 source ~/.profile 使配置生效,通过 go version 和 go env 命令验证安装结果。

如何在 Linux 中编译安装 Golang_Golang 源码安装与环境配置教程

在 Linux 系统中通过源码编译安装 Go 语言环境,可以让你使用最新版本的 Go,也便于深入理解其运行机制。整个过程包括下载源码、编译、配置环境变量等步骤。下面详细介绍如何完成 golang 的源码安装与环境配置。

下载 Go 源码

Go 官方提供完整的源码包,可以从其官网或gitHub 仓库获取。建议从官方地址下载稳定版本。

进入https://www.php.cn/link/81836b7cd16991abb7febfd7832927fd,找到对应的源码压缩包(如 go1.xx.x.src.tar.gz),使用 wget 命令下载:

wget https://www.php.cn/link/81836b7cd16991abb7febfd7832927fdgo1.21.5.src.tar.gz tar -xzf go1.21.5.src.tar.gz

解压后会生成一个名为 go 的目录,其中包含所有源码和构建脚本。

立即学习go 语言免费学习笔记(深入)”;

编译 Go 源码

Go 的源码自带构建脚本,但需要先确保系统已安装必要的依赖 工具,如 gcc、make 等。

在大多数 Linux 发行版上,执行以下命令安装基础编译工具:

# ubuntu/Debian sudo apt update && sudo apt install gcc make <h1>centos/RHEL/Fedora</h1><p>sudo yum install gcc make</p><h1> 或者使用 dnf(较新版本)</h1><p>sudo dnf install gcc make</p>

进入解压后的 go/src 目录,运行 all.bash(Linux/macOS)开始编译:

如何在 Linux 中编译安装 Golang_Golang 源码安装与环境配置教程

帮衣帮 -AI 服装设计

AI 服装设计神器,AI 生成印花、虚拟试衣、面料替换

如何在 Linux 中编译安装 Golang_Golang 源码安装与环境配置教程39

查看详情 如何在 Linux 中编译安装 Golang_Golang 源码安装与环境配置教程

cd go/src ./all.bash

编译过程可能持续几分钟。如果看到“ALL TESTS PASSED”提示,说明编译成功。此时 Go 工具链已被构建到 go 目录下的 bin 和 pkg 中。

配置环境变量

为了让系统能识别 go 命令,需要将 Go 的 bin 目录加入 PATH,并设置 GOROOT 和 GOPATH。

假设你将 Go 解压在 /home/yourname/go,可进行如下配置:

# 编辑用户环境变量文件 nano ~/.profile # 或使用 ~/.bashrc(仅当前 shell 生效)

在文件末尾添加以下内容:

export GOROOT=/home/yourname/go export GOPATH=$HOME/gopath export PATH=$PATH:$GOROOT/bin:$GOPATH/bin

保存后执行以下命令使配置立即生效:

source ~/.profile

注意:GOROOT 指向源码编译的 Go 安装目录,GOPATH 是你的工作区路径,用于存放项目代码和依赖。

验证安装

运行以下命令检查 Go 是否正确安装:

go version go env

如果输出 Go 版本信息和环境变量配置,说明安装成功。你可以开始创建项目并使用 go mod 管理依赖。

基本上就这些。整个流程不复杂但容易忽略权限和环境变量设置。只要按步骤操作,一般都能顺利完成。

站长
版权声明:本站原创文章,由 站长 2025-10-29发表,共计1535字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
1a44ec70fbfb7ca70432d56d3e5ef742
text=ZqhQzanResources