
本教程详细介绍了在类unix系统(尤其ubuntu)上安装go语言的多种方法,包括从源码编译、使用官方安装包以及利用gvm、apt-get等第三方工具。文章旨在解决常见安装问题,提供清晰的步骤和环境配置指南,确保go开发环境的顺利搭建,特别适用于面对旧系统或标准包管理器故障时的场景。
Go语言以其高效和简洁性在现代软件开发中占据一席之地。为了顺利进行Go语言开发,首先需要正确配置其开发环境。本文将深入探讨在类Unix系统上安装Go的多种途径,并提供详细的步骤指导,帮助开发者克服在安装过程中可能遇到的挑战,例如旧版本系统包管理器的限制或依赖缺失问题。
从源码编译安装Go语言是一种灵活且强大的方法,尤其适用于系统自带的包管理器版本过旧、仓库不可用,或需要特定Go版本的情况。此方法能确保您获得最新或指定版本的Go,并对安装过程拥有完全的控制权。
在开始编译Go之前,您的系统需要安装一些基本的开发工具和库。对于Ubuntu系统,可以通过apt-get命令安装:
sudo apt-get update # 更新包列表,确保能获取最新依赖信息 sudo apt-get install bison ed gawk gcc libc6-dev make
这些工具包括GNU C编译器(gcc)、make工具、以及其他用于构建Go标准库的实用程序。
立即学习“go语言免费学习笔记(深入)”;
Go语言的早期源码管理使用Mercurial。虽然现代Go项目主要托管在Git上,但对于旧版本的Go或特定场景,Mercurial仍然是必需的。
sudo apt-get install python-setuptools python-dev build-essential sudo apt-get install mercurial
这些命令将安装Python相关的构建工具和Mercurial本身。
在确保Mercurial已安装后,您可以克隆Go语言的源码仓库。请注意,以下命令中的仓库地址适用于Go的早期版本,现代Go源码主要托管在go.googlesource.com/go或GitHub镜像上。但为遵循原始问题背景(Ubuntu 12.10及早期Go版本),我们使用以下命令:
hg clone -u release https://code.google.com/p/go ~/go_src
此命令会将Go的发布版本源码克隆到您的家目录下的go_src文件夹中。为了保持与后续环境变量设置的一致性,通常建议将其克隆到$HOME/go,但此处为了避免与最终安装目录混淆,暂时使用~/go_src。之后您可以将其移动到您希望的GOROOT位置。
进入源码目录并执行编译脚本。此过程可能需要几分钟。
cd ~/go_src/src ./all.bash
如果编译和测试成功,您将看到类似“ALL TESTS PASSED”的成功消息,并提示Go已安装到指定目录(例如/home/ubuntu/go)。
编译完成后,需要设置Go相关的环境变量,以便系统能够找到Go编译器和工具。
echo "export GOROOT=$HOME/go_src" >> ~/.profile # Go安装目录 echo "export GOPATH=$HOME/gocode" >> ~/.profile # Go工作区目录 echo "export PATH=$PATH:$GOROOT/bin" >> ~/.profile echo "export PATH=$PATH:$GOPATH/bin" >> ~/.profile source ~/.profile
配置完环境变量后,打开一个新的终端窗口或重新加载~/.profile,然后验证Go版本:
go version
如果显示Go的版本信息,则表示安装成功。
官方提供的预编译安装包是安装Go最简便的方式,适用于大多数主流操作系统(Windows, macOS, Linux)。这些包通常包含Go的二进制文件和标准库,省去了源码编译的步骤。
访问Go语言官方下载页面(go.dev/dl/),根据您的操作系统和架构下载对应的压缩包(例如,Linux用户下载.tar.gz文件)。
将下载的压缩包解压到您希望安装Go的目录。通常,建议将其解压到/usr/local目录下,这样Go就会安装在/usr/local/go。
sudo rm -rf /usr/local/go # 如果之前有安装,先删除旧版本 sudo tar -C /usr/local -xzf go<VERSION>.<OS>-<ARCH>.tar.gz
请将<VERSION>、<OS>和<ARCH>替换为实际下载的文件名中的版本、操作系统和架构信息。
与源码安装类似,您需要配置GOROOT和PATH环境变量。GOROOT应指向您解压Go包的目录(例如/usr/local/go)。
echo "export GOROOT=/usr/local/go" >> ~/.profile echo "export GOPATH=$HOME/gocode" >> ~/.profile # 建议设置一个独立的GOPATH echo "export PATH=$PATH:$GOROOT/bin" >> ~/.profile echo "export PATH=$PATH:$GOPATH/bin" >> ~/.profile source ~/.profile
配置完成后,使用go version验证安装。
除了官方方法,还有许多第三方工具和包管理器可以简化Go的安装过程,特别是在特定操作系统或需要管理多个Go版本时。
GVM是一个Go语言的多版本管理工具,类似于Ruby的RVM。它允许您在同一系统上安装和切换不同版本的Go,对于需要测试兼容性或维护旧项目的开发者非常有用。
GVM的安装脚本依赖于curl命令来下载。如果您的系统提示curl: command not found,请先安装它:
sudo apt-get update sudo apt-get install curl
执行以下命令安装GVM:
bash < <(curl -s -S -L https://raw.github.com/moovweb/gvm/master/binscripts/gvm-installer)
安装完成后,GVM会提示您将其初始化脚本添加到您的shell配置文件中(例如~/.bashrc或~/.profile)。请按照提示操作并重新加载shell。
使用GVM安装特定版本的Go:
gvm install go1.0.3 # 安装Go 1.0.3版本 gvm use go1.0.3 # 切换到Go 1.0.3版本
您也可以安装其他Go版本,并使用gvm use <version>命令在它们之间切换。
对于Ubuntu和Debian用户,apt-get是管理软件包的标准工具。然而,系统自带仓库中的Go版本可能不是最新的,甚至可能因仓库过期而导致404错误。为了获取更新且稳定的Go版本,推荐使用PPA(Personal Package Archive)。
sudo add-apt-repository ppa:gophers/go # 添加Go社区维护的PPA sudo apt-get update # 更新包列表 sudo apt-get install golang-stable # 安装稳定版Go
此方法通常会自动配置Go的环境变量,但仍建议您手动检查GOPATH是否符合您的开发习惯,并根据需要进行调整。
Homebrew是macOS上流行的包管理器。通过Homebrew安装Go非常简单:
brew install go
Homebrew会自动处理Go的安装和环境变量配置。
本文详细介绍了在类Unix系统上安装Go语言的三种主要方法。在选择安装方式时,请考虑以下因素:
在安装过程中,请务必仔细阅读终端输出信息,并根据提示进行操作。遇到问题时,检查网络连接、仓库配置和依赖包是否完整,通常能解决大部分安装难题。通过遵循本教程的指导,您将能够顺利搭建Go语言开发环境,为您的Go编程之旅打下坚实基础。
以上就是如何在Ubuntu等类Unix系统上安装Go语言:多版本管理与源码编译实践的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号