在 CentOS 上正确配置 Go(Golang) 环境,通常分为 安装、环境变量配置、验证 三个步骤。下面给你一套稳妥、通用、推荐的做法(适用于 CentOS 7 / 8 / Stream)。
如果之前用 yum 装过旧版本 Go,建议先卸掉:
sudo yum remove golang -y
官网:https://go.dev/dl/
例如当前稳定版:go1.22.4
cd /usr/local/src
sudo wget https://go.dev/dl/go1.22.4.linux-amd64.tar.gz
sudo tar -C /usr/local -xzf go1.22.4.linux-amd64.tar.gz
✅ 正确目录结构应为:
/usr/local/go/bin/go
编辑 ~/.bashrc 或 ~/.profile:
vi ~/.bashrc
添加以下内容(最重要):
export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
生效:
source ~/.bashrc
sudo vi /etc/profile.d/go.sh
内容同上,然后:
source /etc/profile
go version
输出类似:
go version go1.22.4 linux/amd64
再测试:
go env
重点检查:
GOROOT="/usr/local/go"
GOPATH="/root/go"
mkdir ~/hello && cd ~/hello
go mod init hello
hello.go:
package main
import "fmt"
func main() {
fmt.Println("Hello CentOS Go")
}
运行:
go run hello.go
✅ 99%是 PATH 没配或没 source
国内服务器建议设置:
go env -w GOPROXY=https://goproxy.cn,direct
Go 本身不受影响,但如果你跑 web 服务:
sudo firewall-cmd --add-port=8080/tcp --permanent
sudo firewall-cmd --reload
export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
如果你愿意,可以告诉我:
我可以给你 更精确的一键配置脚本。