Go语言搭建:Ubuntu源码编译安装教程
时间:2025-12-09 20:03:44 434浏览 收藏
学习Golang要努力,但是不要急!今天的这篇文章《Go语言环境搭建:Ubuntu源码编译与安装方法》将会介绍到等等知识点,如果你想深入学习Golang,可以关注我!我会持续更新相关文章的,希望对大家都能有所帮助!

本文详细介绍了在Ubuntu系统上安装Go语言开发环境的多种方法,包括从源码编译、使用官方安装包以及利用GVM、apt-get等第三方工具。针对旧版本Ubuntu系统可能遇到的`apt-get`仓库问题,文章特别强调了源码编译的详细步骤,并提供了环境配置、版本验证及常见问题的解决方案,旨在帮助开发者选择最适合自身需求的安装方式,高效搭建Go开发环境。
Go语言作为一门高效、简洁的编程语言,其开发环境的搭建是学习和使用的第一步。在Linux系统,尤其是Ubuntu上,有多种方式可以安装Go,每种方法都有其适用场景。本文将详细阐述这些安装方法,并提供具体的操作步骤。
一、 Go语言安装方法概述
Go语言的安装主要有以下三种主流方式:
- 从源码编译安装: 适用于对系统环境有特定要求、希望使用最新开发版本或解决包管理器版本过旧问题的开发者。这种方法需要手动处理依赖和编译过程,但提供了最大的灵活性。
- 使用官方安装包: Go官方为Windows、Linux、macOS等主流操作系统提供了预编译的二进制安装包,这是最简单快捷的安装方式。
- 利用第三方工具或包管理器: 针对不同的操作系统,有相应的第三方工具或系统自带的包管理器可以简化Go的安装过程,例如Ubuntu的apt-get、macOS的Homebrew以及Go版本管理工具GVM等。
二、 从源码编译安装Go语言(推荐解决旧系统问题)
对于一些旧版本的Ubuntu系统(如Ubuntu 12.10),系统自带的apt-get仓库可能提供过时的Go版本,甚至由于仓库地址失效导致安装失败。此时,从源码编译安装Go是最佳选择。
1. 准备编译环境
在Unix-like系统上,编译Go语言需要gcc或类似的C编译器,以及其他一些构建工具。
sudo apt-get update sudo apt-get install bison ed gawk gcc libc6-dev make
2. 安装Mercurial版本控制工具
Go语言的源码由Mercurial管理,因此需要先安装Mercurial才能下载源码。
sudo apt-get install python-setuptools python-dev build-essential sudo apt-get install mercurial
3. 下载Go源码
选择一个合适的目录来存放Go源码,通常建议在用户主目录下。注意,Go的安装目录(GOROOT)不应与源码下载目录重合。
# 进入用户主目录 cd ~ # 克隆Go语言的release分支源码 hg clone -u release https://code.google.com/p/go
注意: https://code.google.com/p/go 是旧的Go源码仓库地址,可能已不可用。当前Go源码托管在GitHub:https://github.com/golang/go。如果遇到下载问题,请尝试从GitHub克隆:
git clone https://github.com/golang/go.git
重要提示: 如果使用 git clone 下载源码,后续编译步骤可能会有所不同。传统的 all.bash 脚本是针对 hg 仓库结构的。对于 git 仓库,通常直接进入 go/src 目录执行 ./make.bash。本文档将沿用原始答案的 hg clone 和 all.bash 流程,但请读者根据实际情况调整。
4. 编译Go源码
进入下载好的Go源码目录,并执行编译脚本。这个过程可能需要几分钟。
cd go/src ./all.bash
如果编译和测试成功,你将看到类似如下的输出信息:
--- ALL TESTS PASSED --- Installed Go for linux/amd64 in /home/ubuntu/go. Installed commands in /home/ubuntu/go/bin. *** You need to add /home/ubuntu/go/bin to your $PATH. *** The compiler is 6g.
这表明Go已经成功安装到/home/ubuntu/go目录。
5. 验证Go版本
编译完成后,可以验证Go是否正确安装。
~/go/bin/go version
6. 配置Go环境变量
为了在任何目录下都能方便地使用Go命令,并设置Go的工作区,需要配置相关的环境变量。
- GOROOT: Go语言的安装路径,指向Go的根目录。
- GOPATH: Go语言的工作区路径,用于存放你的Go项目源码、第三方包以及编译后的二进制文件。它不应与GOROOT相同。
- PATH: 将GOROOT/bin和GOPATH/bin添加到系统的可执行文件搜索路径中。
打开或创建~/.profile文件(或~/.bashrc、~/.zshrc等,取决于你的shell),并添加以下内容:
echo "export GOROOT=\$HOME/go" >> ~/.profile echo "export GOPATH=\$HOME/gocode" >> ~/.profile echo "export PATH=\$PATH:\$GOROOT/bin:\$GOPATH/bin" >> ~/.profile # 使配置立即生效 source ~/.profile
这里我们将GOPATH设置为$HOME/gocode,你也可以根据自己的喜好修改。
配置完成后,关闭当前终端,重新打开一个新的终端,或执行source ~/.profile使环境变量生效。然后再次验证:
go version
此时应该能直接执行go version命令。
三、 使用官方安装包安装Go语言
Go官方为各平台提供了便捷的安装包,通常是推荐给大多数用户的安装方式。
- 下载安装包: 访问Go语言官方下载页面(https://golang.org/dl/),根据你的操作系统选择对应的二进制安装包(例如,Linux用户选择goX.Y.Z.linux-amd64.tar.gz)。
- 解压安装: 将下载的压缩包解压到/usr/local目录(这是官方推荐的路径)。
sudo tar -C /usr/local -xzf goX.Y.Z.linux-amd64.tar.gz
(请将X.Y.Z替换为实际的版本号)
- 配置环境变量: 同样需要配置GOROOT、GOPATH和PATH环境变量。如果安装到/usr/local/go,则GOROOT为/usr/local/go。
echo "export GOROOT=/usr/local/go" >> ~/.profile echo "export GOPATH=\$HOME/gocode" >> ~/.profile echo "export PATH=\$PATH:\$GOROOT/bin:\$GOPATH/bin" >> ~/.profile source ~/.profile
四、 利用第三方工具或包管理器安装Go语言
1. 使用GVM(Go Version Manager)
GVM是一个Go语言的多版本管理工具,类似于Ruby的RVM,非常适合需要在不同Go版本之间切换的开发者。
前提: 确保系统安装了curl。如果遇到curl: command not found错误,请先安装:
sudo apt-get update sudo apt-get install curl
安装GVM:
bash < <(curl -s -S -L https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer)
安装Go版本: 安装完成后,需要激活GVM(按照安装提示或执行source ~/.gvm/scripts/gvm)。然后使用GVM安装特定版本的Go:
gvm install go1.22.0 # 安装最新稳定版,或指定版本如 go1.0.3 gvm use go1.22.0 --default # 设置为默认使用此版本
2. 使用apt-get(适用于Ubuntu)
对于较新版本的Ubuntu,可以通过PPA(Personal Package Archive)来安装最新或稳定的Go版本,这比默认仓库更可靠。
sudo add-apt-repository ppa:gophers/go sudo apt-get update sudo apt-get install golang-stable
这种方法通常会替你自动配置大部分环境变量。
3. 使用Homebrew(适用于macOS)
如果你是macOS用户,Homebrew是一个非常方便的包管理器。
brew install go
五、 注意事项与总结
- 选择合适的安装方式:
- 源码编译: 当系统apt-get仓库版本过旧、失效或需要特定Go版本时首选。
- 官方安装包: 最直接、最通用的方法。
- GVM: 适合需要管理多个Go版本的开发者。
- apt-get (PPA): Ubuntu用户获取稳定Go版本的便捷方式。
- 环境变量的重要性: 无论采用哪种安装方式,正确配置GOROOT、GOPATH和PATH环境变量都是确保Go开发环境正常工作的关键。务必在.profile、.bashrc或.zshrc中设置,并source文件使其生效。
- GOPATH的结构: GOPATH目录下通常包含src(存放源码)、pkg(存放编译后的包文件)和bin(存放可执行程序)三个子目录。
- 解决curl: command not found: 在尝试使用curl命令安装GVM或其他工具前,如果遇到此错误,请先执行sudo apt-get install curl进行安装。
通过以上详细的教程,无论是面对老旧系统还是追求最新版本,开发者都能够选择最适合自己的方法,顺利在Ubuntu系统上搭建Go语言开发环境,开启Go编程之旅。
终于介绍完啦!小伙伴们,这篇关于《Go语言搭建:Ubuntu源码编译安装教程》的介绍应该让你收获多多了吧!欢迎大家收藏或分享给更多需要学习的朋友吧~golang学习网公众号也会发布Golang相关知识,快来关注吧!
-
505 收藏
-
503 收藏
-
502 收藏
-
502 收藏
-
502 收藏
-
284 收藏
-
421 收藏
-
358 收藏
-
337 收藏
-
124 收藏
-
495 收藏
-
289 收藏
-
423 收藏
-
129 收藏
-
403 收藏
-
227 收藏
-
490 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 543次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 516次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 500次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 485次学习