
本文详细介绍了在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编译器,以及其他一些构建工具。
立即学习“go语言免费学习笔记(深入)”;
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编程之旅。










