在 CentOS 上配置 Golang 环境变量,通常分为 安装 Go 和 配置环境变量 两部分。下面以 CentOS 7 / 8 / Stream 为例,给你一个完整、常用的做法。
sudo rm -rf /usr/local/go
cd /tmp
wget https://go.dev/dl/go1.22.4.linux-amd64.tar.gz
/usr/localsudo tar -C /usr/local -xzf go1.22.4.linux-amd64.tar.gz
编辑用户环境变量文件:
vim ~/.bashrc
在文件末尾添加:
# Golang
export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
使配置生效:
source ~/.bashrc
sudo vim /etc/profile
添加:
# Golang
export GOROOT=/usr/local/go
export GOPATH=/opt/go
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
生效:
source /etc/profile
go version
输出示例:
go version go1.22.4 linux/amd64
查看环境变量:
go env
| 变量 | 说明 |
|---|---|
GOROOT |
Go 安装目录 |
GOPATH |
Go 工作目录(代码、依赖) |
GO111MODULE |
是否启用 Go Modules |
GOPROXY |
代理(国内推荐) |
go env -w GOPROXY=https://goproxy.cn,direct
go env -w GO111MODULE=on
mkdir -p ~/go/hello
cd ~/go/hello
go mod init hello
hello.go:
package main
import "fmt"
func main() {
fmt.Println("Hello, Golang on CentOS!")
}
运行:
go run hello.go
go: command not foundPATH 是否包含 /usr/local/go/binsourceGo 本身不受限制,但部署 Web 服务时注意端口权限。
如果你告诉我:
我可以给你 更精确的配置方案(比如 systemd + Go 服务)。