温馨提示×

CentOS系统怎样安装Golang

小樊
43
2025-10-25 22:13:01
栏目: 编程语言

一、方法一:使用Yum/DNF包管理器安装(推荐新手)

1. 更新系统包

确保系统软件包为最新版本,避免依赖冲突:

# CentOS 7
sudo yum update -y
# CentOS 8及以上
sudo dnf update -y

2. 安装Golang

根据CentOS版本选择对应命令:

# CentOS 8及以上(使用dnf)
sudo dnf install golang -y
# CentOS 7及以下(使用yum)
sudo yum install golang -y

3. 验证安装

安装完成后,通过以下命令检查Golang版本,确认安装成功:

go version

若输出类似go1.20.5 linux/amd64,则表示安装完成。

二、方法二:手动下载安装(自定义版本)

1. 下载Golang安装包

访问Golang官方下载页面,选择适合CentOS的Linux版本(如go1.20.5.linux-amd64.tar.gz),使用wget下载:

wget https://golang.org/dl/go1.20.5.linux-amd64.tar.gz

2. 解压安装包

将下载的压缩包解压到/usr/local目录(系统级安装路径):

sudo tar -C /usr/local -xzf go1.20.5.linux-amd64.tar.gz

3. 配置环境变量

编辑用户配置文件(如~/.bashrc~/.bash_profile),添加以下内容:

export GOROOT=/usr/local/go  # Go安装路径
export GOPATH=$HOME/go      # 工作目录(存放项目代码)
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin  # 将Go命令加入PATH
export GO111MODULE=on       # 启用Go Modules(推荐)

使配置生效:

source ~/.bashrc

4. 验证安装

再次运行go version,确认版本信息显示正常。

三、方法三:使用Docker安装(隔离环境)

若已安装Docker,可通过Docker快速部署Golang环境,避免污染主机系统:

1. 安装Docker

sudo yum install docker -y
sudo systemctl start docker
sudo systemctl enable docker

2. 拉取Golang镜像

sudo docker pull golang:latest

3. 运行Golang容器

将当前目录挂载到容器的/go/src/app,进入容器终端:

sudo docker run -it --rm -v $(pwd):/go/src/app -w /go/src/app golang:latest bash

容器内可直接使用go命令,项目代码保存在宿主机的当前目录。

四、后续配置(可选但推荐)

1. 配置GOPROXY(国内加速)

国内访问Golang模块仓库较慢,可设置国内代理(如goproxy.cn):

export GOPROXY=https://goproxy.cn,direct

若需永久生效,可将上述命令添加到~/.bashrc中。

2. 初始化Go模块

在项目目录中创建go.mod文件(管理依赖):

go mod init <module-name>  # 如go mod init github.com/yourname/hello

3. 编写并运行测试程序

创建hello.go文件:

package main
import "fmt"
func main() {
    fmt.Println("Hello, Golang on CentOS!")
}

运行程序:

go run hello.go

若输出Hello, Golang on CentOS!,则说明环境配置成功。

注意事项

  • 权限问题:若安装过程中提示权限不足,可使用sudo提升权限,但建议将Go工作目录(GOPATH)设置为当前用户目录(如$HOME/go),避免全局安装。
  • 版本选择:建议选择最新的稳定版本(如Go 1.20+),以获得更好的性能和安全性。
  • 依赖安装:若需编译原生扩展(如CGO),需提前安装系统依赖(如gccmake):
    sudo yum install gcc make -y  # CentOS 7
    sudo dnf install gcc make -y  # CentOS 8+
    

0