在 Debian 系统下配置 Golang 的路径,主要涉及三个核心环境变量:GOROOT(Go 的安装目录)、GOPATH(Go 的工作区/代码及依赖存放目录)以及 PATH(让系统能直接找到 go 命令和你自己编译的程序)。
下面分步骤详细说明如何在 Debian 下进行设置。
方式 A:通过 Debian 官方仓库 apt 安装
sudo apt install golang-go
通过 apt 安装的 Go 一般可执行文件在 /usr/bin/go,默认 GOROOT 由系统管理(通常在 /usr/lib/go-<版本号>)。这种方式 一般不需要手动设置 GOROOT 和 PATH,直接打开新终端输入 go version 就能用,但版本通常较旧。
方式 B:通过 Go 官网二进制包安装(推荐,版本最新)
从 Golang 官网 下载 linux-amd64.tar.gz,并解压到 /usr/local:
wget https://go.dev/dl/go1.22.0.linux-amd64.tar.gz # 替换为最新版本
sudo tar -C /usr/local -xzf go1.22.0.linux-amd64.tar.gz
这种方式 Go 被安装在 /usr/local/go,必须手动将 /usr/local/go/bin 加入 PATH。
假设你使用的是 Bash(Debian 默认),推荐修改当前用户的环境变量文件 ~/.bashrc(如果要对所有用户生效,可以修改 /etc/profile 或新建 /etc/profile.d/go.sh)。
编辑配置文件:
nano ~/.bashrc
在文件末尾添加以下内容(如果你用 apt 安装且想自定义 GOPATH,只需添加后两行即可):
# Golang 环境变量设置
# 1. 设置 GOROOT(如果你是用官网包装在 /usr/local/go,可以不用显式设置,Go 会自动推断,但写上更清晰)
export GOROOT=/usr/local/go
# 2. 将 Go 的二进制命令目录加入 PATH,这样终端才能直接使用 go 命令
export PATH=$PATH:$GOROOT/bin
# 3. 设置 GOPATH(工作区),默认为 ~/go,你可以自定义,比如:
export GOPATH=$HOME/go
# 4. 将 GOPATH 下的 bin 目录也加入 PATH,方便直接运行 go install 安装的命令行工具
export PATH=$PATH:$GOPATH/bin
使配置生效:
source ~/.bashrc
(注:如果你修改的是 /etc/profile,需要注销重新登录,或者执行 source /etc/profile)
执行以下命令检查是否配置成功:
# 查看 Go 版本
go version
# 查看 Go 的环境变量详情
go env GOROOT GOPATH PATH
如果 go env 输出中,GOROOT 和 GOPATH 都显示了你设置的路径,说明配置成功。
如果你使用的是较新的 Go 版本(现在基本都是),Go 启用了 Go Modules(模块化管理),这和以前的 GOPATH 工作方式有很大不同:
GOPATH/src 下:你的项目代码可以放在电脑的任何地方(如 ~/projects/myapp),只要在项目中执行 go mod init 即可。GOPATH 的主要作用变了:它现在主要用来存放第三方依赖包的缓存(在 $GOPATH/pkg/mod 目录下)以及 go install 编译生成的可执行文件(在 $GOPATH/bin 目录下)。GOPROXY:go env -w GOPROXY=https://proxy.golang.com.cn,direct
(注:go env -w 是 Go 自带的写配置命令,会写入 ~/.config/go/env 文件,无需手动改 bashrc)go: command not found:说明 PATH 没有配对。检查 ~/.bashrc 里的 export PATH=... 拼写,并确认 /usr/local/go/bin 目录里确实有 go 文件。apt 装了又手动解压了官网包,可以通过 which go 查看当前生效的是哪一个,建议卸载 apt 版本的 Go(sudo apt remove golang-go)或调整 PATH 中路径的先后顺序。zsh,配置文件应该是 ~/.zshrc 而不是 ~/.bashrc。