0

0

在Linux系统上安装Go语言并配置环境的详细教程

碧海醫心

碧海醫心

发布时间:2025-07-30 21:42:23

|

442人浏览过

|

来源于php中文网

原创

在Linux系统上安装Go语言并配置环境的详细教程

本教程详细指导用户如何在Linux系统(以Linux Mint为例)上安装Go语言。内容涵盖了从安装必要的编译工具、正确配置.bashrc文件中的Go环境变量,到通过Mercurial克隆Go源代码并进行编译的全过程。文章强调了环境配置的准确性、命令执行的细节以及常见的安装问题和排查方法,旨在帮助用户顺利完成Go语言的安装与环境搭建。

1. 准备工作:安装必要的编译工具

在开始安装go语言之前,确保您的linux系统已安装所有必需的编译工具和库。这些工具对于从源代码编译go至关重要。

打开终端,执行以下命令安装所需软件包:

sudo apt-get update # 更新软件包列表
sudo apt-get install bison ed gawk gcc libc6-dev make

这些软件包提供了Go编译所需的C编译器(gcc)、构建工具(make)、词法分析器生成器(bison)以及文本处理工具(ed, gawk)和C标准库开发文件(libc6-dev)。

2. 配置Go语言环境变量

Go语言的安装和运行依赖于正确的环境变量配置。这些变量通常在用户主目录下的.bashrc文件中进行设置,以便每次打开新的终端会话时都能自动加载。

2.1 编辑.bashrc文件

使用文本编辑器(如gedit、nano或vi)打开.bashrc文件。这里我们以gedit为例:

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

gedit ~/.bashrc

如果gedit未安装,可以使用nano ~/.bashrc。

2.2 添加环境变量

在打开的.bashrc文件中,添加以下行。请注意,这里的路径配置与一些常见错误配置(如将GOROOT设置为~/gosource或GOBIN设置为~/bin)有所不同,务必确保准确性。

export GOROOT=$HOME/go
export GOARCH=amd64
export GOOS=linux
export GOBIN=$GOROOT/bin
export PATH=$PATH:$GOBIN
  • GOROOT: 指定Go语言的安装根目录。这里我们将其设置为$HOME/go,即用户主目录下的go文件夹。
  • GOARCH: 指定目标架构,amd64表示64位系统。
  • GOOS: 指定目标操作系统,linux表示Linux系统。
  • GOBIN: 指定Go可执行文件的存放目录。正确做法是将其设置为$GOROOT/bin,这样Go工具链生成的可执行文件(如6g、6l等)将放置在此目录。
  • PATH: 将$GOBIN添加到系统的PATH环境变量中,以便您可以在任何目录下直接运行Go命令和工具。

保存并关闭.bashrc文件。

2.3 应用环境变量更改

为了使新配置的环境变量生效,您需要关闭所有当前打开的终端窗口,然后重新打开一个新的终端。或者,您也可以在当前终端中执行以下命令立即加载:

source ~/.bashrc

3. 验证环境变量设置

在继续下一步之前,务必验证环境变量是否已正确设置。

在新的终端中,运行以下命令检查Go相关的环境变量:

env | grep '^\(GO\|HOME=\|PATH=\)'

您应该看到类似以下的输出(路径中的peter会替换为您的实际用户名):

智能网站优化SiteSEO1.52
智能网站优化SiteSEO1.52

系统易学易懂,用户只需会上网、不需学习编程及任何语言,只要使用该系统平台,只要会打字,即可在线直接完成建站所有工作。本程序适合不懂php环境配置的新手用来在本机调试智能SiteSEO网站优化软件,安装过程极其简单。您的网站地址:http://localhost您的网站后台:登录地址: http://localhost/admin.php密 码: admin服务器套件所包含的软件:nginx-0.7

下载
GOBIN=/home/peter/go/bin
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home/peter/go/bin
GOARCH=amd64
HOME=/home/peter
GOROOT=/home/peter/go
GOOS=linux

同时,您还可以检查当前工作目录和系统架构:

cd $GOROOT/src # 尝试进入GOROOT下的src目录,验证GOROOT是否正确
pwd # 应该显示 /home/peter/go/src
uname -a # 检查系统架构,确保是x86_64或amd64

4. 克隆并编译Go源代码

环境变量配置无误后,接下来是获取Go源代码并进行编译。Go语言的早期版本使用Mercurial (hg) 进行版本控制。

4.1 克隆Go源代码

使用hg clone命令将Go源代码克隆到您在GOROOT中指定的目录。请注意,目标目录必须是$GOROOT,而不是其他名称,否则后续编译会出错。

hg clone -u release https://go.googlecode.com/hg/ $GOROOT

此命令会将Go的release分支代码克隆到$HOME/go目录下。根据网络状况,这可能需要一些时间。

4.2 编译Go

进入Go源代码的src目录,然后运行all.bash脚本来编译Go。

cd $GOROOT/src
./all.bash

编译过程会输出大量信息,并运行一系列测试。请耐心等待,直到看到类似以下成功消息:

< SNIP OUTPUT >
ALL TESTS PASSED
---
Installed Go for linux/amd64 in /home/peter/go.
Installed commands in /home/peter/go/bin.
The compiler is 6g.

ALL TESTS PASSED表示编译和测试都已成功完成。

5. 验证Go安装

编译完成后,Go的可执行文件(如6g编译器)应该已经安装到$GOBIN目录中。

您可以通过which命令来验证6g是否在您的PATH中并且可以被找到:

which 6g

如果一切顺利,您应该会看到类似/home/peter/go/bin/6g的输出,这表明Go编译器已成功安装并可执行。

6. 重要的注意事项和故障排除

  • Linux的路径和文件名区分大小写:Go和go是完全不同的目录。请确保在配置环境变量和执行命令时,目录名的大小写与实际情况(通常是小写go)完全匹配。
  • 仔细核对命令:在终端中输入命令时,务必仔细检查拼写,或者直接复制粘贴。$符号代表命令提示符,不应输入。
  • 检查命令输出:每次执行命令后,仔细阅读终端的输出信息。错误消息通常会提供有价值的线索,指示问题所在。
  • GOROOT与克隆目标的一致性:确保您在.bashrc中设置的GOROOT变量与您克隆Go源代码的目标目录完全一致。如果hg clone命令没有指定目标目录,它会默认克隆到当前目录下的hg文件夹,这通常不是我们期望的。
  • 系统架构匹配:确保GOARCH变量(例如amd64)与您的Linux系统架构(通过uname -a查看)相匹配。不匹配会导致编译失败或生成不兼容的二进制文件。
  • 权限问题:如果遇到权限错误,请检查相关目录和文件的读写权限。在某些情况下,可能需要使用sudo命令,但对于用户主目录下的操作,通常不需要。
  • 网络问题:克隆Go源代码时,确保您的网络连接稳定。如果克隆失败,可能是网络问题导致。

通过遵循本教程的步骤并注意上述事项,您应该能够成功在Linux系统上安装Go语言环境。遇到问题时,请回顾每个步骤,并利用提供的验证命令进行排查。

相关专题

更多
Go中Type关键字的用法
Go中Type关键字的用法

Go中Type关键字的用法有定义新的类型别名或者创建新的结构体类型。本专题为大家提供Go相关的文章、下载、课程内容,供大家免费下载体验。

233

2023.09.06

go怎么实现链表
go怎么实现链表

go通过定义一个节点结构体、定义一个链表结构体、定义一些方法来操作链表、实现一个方法来删除链表中的一个节点和实现一个方法来打印链表中的所有节点的方法实现链表。

442

2023.09.25

go语言编程软件有哪些
go语言编程软件有哪些

go语言编程软件有Go编译器、Go开发环境、Go包管理器、Go测试框架、Go文档生成器、Go代码质量工具和Go性能分析工具等。本专题为大家提供go语言相关的文章、下载、课程内容,供大家免费下载体验。

246

2023.10.13

0基础如何学go语言
0基础如何学go语言

0基础学习Go语言需要分阶段进行,从基础知识到实践项目,逐步深入。php中文网给大家带来了go语言相关的教程以及文章,欢迎大家前来学习。

691

2023.10.26

Go语言实现运算符重载有哪些方法
Go语言实现运算符重载有哪些方法

Go语言不支持运算符重载,但可以通过一些方法来模拟运算符重载的效果。使用函数重载来模拟运算符重载,可以为不同的类型定义不同的函数,以实现类似运算符重载的效果,通过函数重载,可以为不同的类型实现不同的操作。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

191

2024.02.23

Go语言中的运算符有哪些
Go语言中的运算符有哪些

Go语言中的运算符有:1、加法运算符;2、减法运算符;3、乘法运算符;4、除法运算符;5、取余运算符;6、比较运算符;7、位运算符;8、按位与运算符;9、按位或运算符;10、按位异或运算符等等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

226

2024.02.23

go语言开发工具大全
go语言开发工具大全

本专题整合了go语言开发工具大全,想了解更多相关详细内容,请阅读下面的文章。

277

2025.06.11

go语言引用传递
go语言引用传递

本专题整合了go语言引用传递机制,想了解更多相关内容,请阅读专题下面的文章。

156

2025.06.26

php源码安装教程大全
php源码安装教程大全

本专题整合了php源码安装教程,阅读专题下面的文章了解更多详细内容。

150

2025.12.31

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 6.4万人学习

Git 教程
Git 教程

共21课时 | 2.4万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号