Linux 安装 Go 语言(不使用 root 权限)
安装 Go 语言,在 Mac 平台用 brew, Windows 用 exe,Linux 上一般不想用包管理器自带的,Go 语言没有提供一键式的安装脚本,也没有 uv, rustup 这种自己管理自己的工具。(应该为 Go 语言写一个 nvm.fish 这样的工具,但是我一般只用最新版的 Go,目前也没有这个需求,可能就鸽了)
如果我用 Ubuntu,我一般使用 snap 安装最新的 Go。如果是 Arch,包管理器就已经提供了最新的 Go。如果是其他发行版呢?就按照 Go 官方步骤,将所有的 Go 相关文件解压到 /usr/local/(也就是都放在 /usr/local/go 目录下),然后设置 PATH 中添加 /usr/local/go/bin。
放在 /usr/local 目录下是需要 root 权限的,这很不好,也很不方便。一般打包成 RPM 包的 Go 相关安装包,相当于把 go 文件夹下的一些内容直接放在 /usr 目录下。
下载的 Go 安装包解压出来就像是一个 Linux 的目录层级。
Go 语言有自己的一套目录层级规范。Go 语言提供的工具链也都是在 go/bin 这样的目录下,我们手动安装 Go 的话也不污染系统安装程序的目录。
下面就介绍一下,我认为的安装 Go 语言比较好的方式吧。
下载最新的 Go 语言安装包:
wget "https://dl.google.com/go/$(curl https://go.dev/VERSION?m=text).linux-amd64.tar.gz"
这个链接[1]是下载最新的 x86_64 架构的 Go 语言安装包。
解压到对应的目录
我认为的最佳实践是将 Go 解压到 $HOME/.local/[2]:
tar -C $HOME/.local/ -xzf go1.25.5.linux-amd64.tar.gz
设置 PATH 环境变量
如果是 Bash/Zsh 用户总是麻烦一点的,把下面的内容放在 ~/.profile
# set PATH so it includes sys's /usr/local/go/bin if it exists
if [ -d "$HOME/.local/go/bin" ]; then
PATH="$HOME/.local/go/bin:$PATH"
export GO111MODULE=on
export GOPROXY=https://goproxy.cn,direct
fi
如果是 Fish 用户就很简单了,执行一遍下面的命令就可以了:
fish_add_path $HOME/.local/go/bin
如果你把 fish 相关的一些缓存清理了,这条命令就要重新再执行一次。你也可以保存命令到 ~/.config/fish/conf.d/ 目录下的一个文件夹中去。

浙公网安备 33010602011771号