答案:选择apt或yum安装Golang取决于Linux发行版,Ubuntu等用apt,CentOS等用yum,两者均能完成安装并配置开发环境。

Golang在Linux上的安装,选择apt或yum取决于你的发行版和个人偏好。两者都能完成任务,但细节上有些差异。
apt和yum安装Golang,最终都是为了在你的Linux系统上配置好Go的开发环境,让你可以编译和运行Go程序。选择哪个,更多的是习惯和发行版的匹配度问题。
如何选择:apt还是yum?
apt主要用于Debian和Ubuntu等Debian系的Linux发行版。如果你用的是Ubuntu,那apt就是你的首选。它使用
.deb包,管理依赖关系比较方便,命令也相对直观。
yum则主要用于Red Hat、CentOS、Fedora等Red Hat系的Linux发行版。如果你用的是CentOS,那yum就是更自然的选择。它使用
.rpm包,在企业级环境中应用广泛。
立即学习“go语言免费学习笔记(深入)”;
所以,最简单的原则是:看你的发行版是什么,就用对应的包管理器。
apt安装Golang的步骤详解
-
更新软件包列表:
sudo apt update
这是个好习惯,确保你获取的是最新的软件包信息。
-
安装Golang:
sudo apt install golang
直接了当,apt会处理好所有的依赖关系。
-
验证安装:
go version
如果输出了Go的版本信息,那就说明安装成功了。
-
配置GOPATH和GOROOT(可选但推荐):
export GOPATH=$HOME/go export GOROOT=/usr/lib/go export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
把这些添加到你的
~/.bashrc
或~/.zshrc
文件中,然后source ~/.bashrc
或source ~/.zshrc
,这样每次启动终端都会自动设置好这些环境变量。GOPATH
是你Go项目的工作目录,GOROOT
是Go的安装目录。
yum安装Golang的步骤详解
-
更新软件包列表:
sudo yum update
和apt一样,先更新一下。
-
安装Golang:
sudo yum install golang
yum也会处理好依赖关系。
-
验证安装:
go version
同样,检查版本信息。
-
配置GOPATH和GOROOT(可选但推荐):
export GOPATH=$HOME/go export GOROOT=/usr/lib/golang export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
添加到你的shell配置文件,然后
source
一下。注意,GOROOT
的路径可能略有不同,具体看你的系统。
如何处理安装过程中遇到的依赖问题?
有时候,apt或yum可能会报依赖错误。这通常是因为你的软件包列表不是最新的,或者某些依赖包缺失。
apt: 尝试
sudo apt --fix-broken install
,这个命令会尝试修复损坏的依赖关系。如果还不行,就sudo apt update
再sudo apt upgrade
,然后再试着安装Golang。yum: 尝试
sudo yum clean all
清理缓存,然后sudo yum update
更新软件包列表,再试着安装Golang。如果还是有问题,可能需要手动安装缺失的依赖包。
除了apt/yum,还有其他安装Golang的方式吗?
当然有。你可以直接下载Go的二进制包,解压后配置环境变量。这种方式比较灵活,可以自定义安装目录和版本。
下载二进制包: 从https://www.php.cn/link/81836b7cd16991abb7febfd7832927fd下载对应你系统的二进制包。
-
解压:
tar -C /usr/local -xzf go1.XX.X.linux-amd64.tar.gz
把
go1.XX.X.linux-amd64.tar.gz
替换成你下载的文件名。 -
配置环境变量:
export GOROOT=/usr/local/go export GOPATH=$HOME/go export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
添加到你的shell配置文件,然后
source
一下。
这种方式的优点是可以安装任意版本的Go,缺点是需要手动管理更新。
如何卸载通过apt或yum安装的Golang?
-
apt:
sudo apt remove golang sudo apt autoremove
autoremove
会移除不再需要的依赖包。 -
yum:
sudo yum remove golang
卸载后,记得把相关的环境变量也从你的shell配置文件中移除。










