当前位置: 首页 > article >正文

CentOS 上安装 Go (Golang)

1. 检查系统环境

确保系统为 CentOS 7 或 CentOS 8,或者其他兼容的 Linux 发行版。

cat /etc/os-release

2. 安装依赖

安装一些必要的工具:

sudo yum update -y
sudo yum install -y wget tar

3. 下载 Go

从 Go 官方下载页面获取适用于 Linux 的最新版 Go 二进制文件。这里以当前最新版本 Go 1.22.8 为例:

wget https://go.dev/dl/go1.22.8.linux-amd64.tar.gz

您可以访问 Go 官方下载页面 查看最新版本并替换下载链接。


4. 解压并安装

将下载的文件解压到 /usr/local

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

解压后,Go 的二进制文件将位于 /usr/local/go


5. 配置环境变量

将 Go 的路径添加到系统的 PATH 变量中。

编辑配置文件:
echo "export PATH=\$PATH:/usr/local/go/bin" >> ~/.bashrc
echo "export GOROOT=/usr/local/go" >> ~/.bashrc
echo "export GOPATH=\$HOME/go" >> ~/.bashrc
echo "export PATH=\$PATH:\$GOPATH/bin" >> ~/.bashrc
source ~/.bashrc

如果您使用的是 zsh,请修改 ~/.zshrc 文件。


6. 验证安装

运行以下命令检查 Go 是否安装成功:

go version

输出类似如下表示安装成功:

go version go1.22.8 linux/amd64

7. 测试 Go

创建一个简单的 Go 程序验证运行是否正常:

创建测试文件
mkdir -p $HOME/go/src/hello
cd $HOME/go/src/hello

cat <<EOF > main.go
package main

import "fmt"

func main() {
    fmt.Println("Hello, Go!")
}
EOF
运行程序
go run main.go

正确输出:

Hello, Go!

8. 可选:设置 Go Modules(推荐)

Go 1.13+ 默认使用 Go Modules 管理依赖,可以通过以下命令启用:

export GO111MODULE=on

添加到 ~/.bashrc

echo "export GO111MODULE=on" >> ~/.bashrc
source ~/.bashrc

总结

通过以上步骤,您已经在 CentOS 上成功安装并配置了 Go 环境。如果需要升级 Go,只需删除 /usr/local/go 并重新解压新版本即可:

sudo rm -rf /usr/local/go

http://www.kler.cn/a/518136.html

相关文章:

  • /opt安装软件,就可以使用man xx命令是为什么
  • 第一届“启航杯”网络安全挑战赛WP
  • 用深度学习优化供应链管理:让算法成为商业决策的引擎
  • Centos7系统php8编译安装ImageMagick/Imagick扩展教程整理
  • 信息系统管理工程师第6-8章精讲视频及配套千题通关双双发布,附第14章思维导图
  • python 统计相同像素值个数
  • 正则表达式中常见的贪婪词
  • Nginx入门学习
  • 数据标注开源框架 Label Studio
  • 基于SpringBoot的httpclient实现(高级版)
  • Java 大视界 -- Java 大数据中的自然语言生成技术与实践(63)
  • 【JWT】jwt实现HS、RS、ES、ED签名与验签
  • 力扣算法题——283.移动零【系统讲解】
  • Kotlin开发(三):编程趣事,变量、判断和循环的三角恋
  • C++ 复习总结记录十
  • transformers报错:‘GenerationConfig‘ object has no attribute ‘_eos_token_tensor‘
  • INCOSE需求编写指南-第1部分:介绍
  • 基于Hadoop的汽车大数据分析系统设计与实现【爬虫、数据预处理、MapReduce、echarts、Flask】
  • 【GO】Context
  • 亚博microros小车-原生ubuntu支持系列:11手指控制与手势识别
  • 活动回顾和预告|微软开发者社区 Code Without Barriers 上海站首场活动成功举办!
  • Queries Acceleration -Tuning- Tuning Execution 学习笔记
  • 在Android中通过JNI实现Java与C++的交互:Hello World示例
  • C++中static和const的区别和用法
  • leetcode——相交链表(java)
  • Spring Boot - 数据库集成02 - 集成JPA