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

Rocky8使用gvm配置Go多版本管理的微服务开发环境

在微服务开发中,管理Go语言的多个版本对项目的兼容性和开发效率至关重要。本文将介绍如何在Rocky8操作系统上使用gvm(Go Version Manager)来配置Go的多版本管理,并设置go-zero框架的开发环境。

一、环境准备
1. 更新系统

在开始之前,确保系统已更新:

sudo dnf update -y
2. 安装必要工具

安装gvm依赖的包,包括curl、git、make、gcc等:

sudo dnf install -y curl git make gcc-c++

二、安装gvm
1. 下载并安装gvm

使用curl下载并安装gvm:

bash < <(curl -s -S -L https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer)
2. 配置gvm环境

安装完成后,加载gvm到当前shell环境中:

source ~/.gvm/scripts/gvm

3. 安装Go版本

使用gvm安装所需的Go版本,例如1.17和1.16:

gvm install go1.17
gvm install go1.16

安装完成后,可以使用以下命令查看已安装的Go版本:

gvm list

三、配置Go开发环境
1. 切换Go版本

使用gvm切换到所需的Go版本:

gvm use go1.17 --default

2. 设置GOPATH和GOROOT

确保GOPATH和GOROOT已经正确配置。通常情况下,gvm会自动设置这些环境变量:

export GOPATH=$HOME/go
export GOROOT=$(gvm pkgset list)
export PATH=$GOPATH/bin:$GOROOT/bin:$PATH
​

可以将上述环境变量添加到 ~/.bashrc或 ~/.zshrc中,以便每次启动shell时自动加载:

echo 'export GOPATH=$HOME/go' >> ~/.bashrc
echo 'export GOROOT=$(gvm pkgset list)' >> ~/.bashrc
echo 'export PATH=$GOPATH/bin:$GOROOT/bin:$PATH' >> ~/.bashrc
source ~/.bashrc

四、安装go-zero框架
1. 获取go-zero

使用go命令安装go-zero:

go get -u github.com/zeromicro/go-zero

2. 验证安装

安装完成后,可以通过以下命令验证go-zero是否安装成功:

go-zero -v

五、创建go-zero微服务项目
1. 初始化项目

使用go-zero工具快速创建一个微服务项目:

go-zero new myservice
2. 进入项目目录

进入创建的项目目录:

cd myservice
​
3. 运行服务

运行生成的微服务:

go run api/hello.go
http://www.lryc.cn/news/574483.html

相关文章:

  • uni-app项目实战笔记24--uniapp实现图片保存到手机相册
  • spring01-简介
  • 618风控战升级,瑞数信息“动态安全+AI”利剑出鞘
  • window显示驱动开发—DirectX 图形基础结构 DDI
  • 【CS创世SD NAND征文】基于全志V3S与CS创世SD NAND的物联网智能路灯网关数据存储方案
  • taro小程序,tailwindcss的bg-x-x,背景颜色不生效,只有自定义的写法颜色才生效
  • C++修炼:异常
  • 解码成都芯谷金融中心文化科技产业园:文化+科技双轮驱动
  • Qt 中使用 gtest 做单元测试
  • 一文读懂微观测量:光学3D轮廓仪与共聚焦显微成像的结合应用
  • cherry-pick除了使用命令,有没有什么工具可以使用,或者更高效的方法
  • Linux 文件 I/O 与标准 I/O 缓冲机制详解
  • Java面试中被深挖过的线程问题
  • 对手机屏中断路和短路的单元进行切割或熔接,实现液晶线路激光修复原理
  • Luckysheet Excel xlsx 导入导出互相转换
  • 02-Linux内核源码编译
  • CentOS 7 编译安装Nginx 1.27.5完整指南及负载均衡配置
  • MinIO中视频转换为HLS协议并进行AES加密
  • Python Polars库详解:高性能数据处理的新标杆
  • pyqt多界面
  • LangChain网页自动化PlayWrightBrowserToolkit
  • gRPC 静态库链接到 DLL 的风险与潜在问题
  • 鸿蒙开发深入解析:Service Ability(后台任务)全面指南
  • 深度解析|智能汽车操作系统技术突破:从架构演进到产业重构
  • 比翼双飞,影像的迁徙之旅
  • 基于目标驱动的分布式敏捷开发
  • GPPT(Graph Pre-training and Prompt Tuning)项目复现
  • 生成FUCK代币,并用程序进行转账的过程
  • C++字符串的行输入
  • 查询sqlserver数据库中,数据占的空间和索引占的空间