在 Debian 上设置 Golang 环境变量,通常有两种方式:临时生效(终端会话)和永久生效(用户或系统级)。下面一步一步说清楚。
go version
如果没装,可以先装:
sudo apt update
sudo apt install golang-go
或官方二进制(推荐):
wget https://go.dev/dl/go1.22.5.linux-amd64.tar.gz
sudo rm -rf /usr/local/go
sudo tar -C /usr/local -xzf go1.22.5.linux-amd64.tar.gz
编辑用户环境变量文件:
nano ~/.profile
或(如果你用 bash):
nano ~/.bashrc
在文件末尾添加:
export GOPATH=$HOME/go
export GOROOT=/usr/local/go
export PATH=$PATH:/usr/local/go/bin:$GOPATH/bin
保存后执行:
source ~/.profile
# 或
source ~/.bashrc
sudo nano /etc/profile.d/go.sh
写入:
export GOPATH=/opt/go
export GOROOT=/usr/local/go
export PATH=$PATH:/usr/local/go/bin:$GOPATH/bin
赋予执行权限:
sudo chmod +x /etc/profile.d/go.sh
重新登录或:
source /etc/profile
go env GOPATH
go env GOROOT
which go
正常应输出:
/usr/local/go
/home/youruser/go
/usr/local/go/bin/go
| 变量 | 作用 |
|---|---|
GOROOT |
Go 安装目录 |
GOPATH |
工作目录(代码、包) |
GOBIN |
可执行文件目录(可选) |
PATH |
让 go 命令可用 |
如果你是服务 / 守护进程用到 Go:
systemd 不会读取 .bashrc / .profile[Service]
Environment=GOPATH=/home/user/go
Environment=PATH=/usr/local/go/bin:/usr/bin:/bin
如果你愿意,可以告诉我:
我可以直接给你一套最合适的配置。