【环境】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
​
AI 代码解读
2. 安装必要工具

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

sudo dnf install -y curl git make gcc-c++
​
AI 代码解读

二、安装gvm

1. 下载并安装gvm

使用curl下载并安装gvm:

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

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

source ~/.gvm/scripts/gvm
​
AI 代码解读
3. 安装Go版本

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

gvm install go1.17
gvm install go1.16
AI 代码解读

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

gvm list
AI 代码解读

三、配置Go开发环境

1. 切换Go版本

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

gvm use go1.17 --default
AI 代码解读
2. 设置GOPATH和GOROOT

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

export GOPATH=$HOME/go
export GOROOT=$(gvm pkgset list)
export PATH=$GOPATH/bin:$GOROOT/bin:$PATH
​
AI 代码解读

可以将上述环境变量添加到 ~/.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
​
AI 代码解读

四、安装go-zero框架

1. 获取go-zero

使用go命令安装go-zero:

go get -u github.com/zeromicro/go-zero
​
AI 代码解读
2. 验证安装

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

go-zero -v
​
AI 代码解读

五、创建go-zero微服务项目

1. 初始化项目

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

go-zero new myservice
​
AI 代码解读
2. 进入项目目录

进入创建的项目目录:

cd myservice
​
AI 代码解读
3. 运行服务

运行生成的微服务:

go run api/hello.go
AI 代码解读

六、思维导图

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

七、总结

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

目录
打赏
0
63
63
0
449
分享
相关文章
|
14天前
|
微服务——SpringBoot使用归纳——Spring Boot集成 Swagger2 展现在线接口文档——Swagger2 的配置
本文介绍了在Spring Boot中配置Swagger2的方法。通过创建一个配置类,添加`@Configuration`和`@EnableSwagger2`注解,使用Docket对象定义API文档的详细信息,包括标题、描述、版本和包路径等。配置完成后,访问`localhost:8080/swagger-ui.html`即可查看接口文档。文中还提示了可能因浏览器缓存导致的问题及解决方法。
52 0
微服务——SpringBoot使用归纳——Spring Boot集成 Swagger2 展现在线接口文档——Swagger2 的配置
微服务——SpringBoot使用归纳——Spring Boot开发环境搭建和项目启动
本文介绍了Spring Boot开发环境的搭建和项目启动流程。主要内容包括:jdk的配置(IDEA、STS/eclipse设置方法)、Spring Boot工程的构建方式(IDEA快速构建、官方构建工具start.spring.io使用)、maven配置(本地maven路径与阿里云镜像设置)以及编码配置(IDEA和eclipse中的编码设置)。通过这些步骤,帮助开发者顺利完成Spring Boot项目的初始化和运行准备。
58 0
微服务——SpringBoot使用归纳——Spring Boot开发环境搭建和项目启动
微服务——SpringBoot使用归纳——Spring Boot事务配置管理——Spring Boot 事务配置
本文介绍了 Spring Boot 中的事务配置与使用方法。首先需要导入 MySQL 依赖,Spring Boot 会自动注入 `DataSourceTransactionManager`,无需额外配置即可通过 `@Transactional` 注解实现事务管理。接着通过创建一个用户插入功能的示例,展示了如何在 Service 层手动抛出异常以测试事务回滚机制。测试结果表明,数据库中未新增记录,证明事务已成功回滚。此过程简单高效,适合日常开发需求。
50 0
微服务——SpringBoot使用归纳——Spring Boot中的项目属性配置——少量配置信息的情形
本课主要讲解Spring Boot项目中的属性配置方法。在实际开发中,测试与生产环境的配置往往不同,因此不应将配置信息硬编码在代码中,而应使用配置文件管理,如`application.yml`。例如,在微服务架构下,可通过配置文件设置调用其他服务的地址(如订单服务端口8002),并利用`@Value`注解在代码中读取这些配置值。这种方式使项目更灵活,便于后续修改和维护。
18 0
微服务——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 格式,因其层次清晰,但需注意格式要求。
42 0
微服务——MyBatis配置——事务管理
本段内容主要介绍了事务管理的两种类型:JDBC 和 MANAGED。JDBC 类型直接利用数据源连接管理事务,依赖提交和回滚机制;而 MANAGED 类型则由容器全程管理事务生命周期,例如 JEE 应用服务器上下文,默认会关闭连接,但可根据需要设置 `closeConnection` 属性为 false 阻止关闭行为。此外,提到在使用 Spring + MyBatis 时,无需额外配置事务管理器,因为 Spring 模块自带的功能可覆盖上述配置,且这两种事务管理器类型均无需设置属性。
31 0
微服务——MyBatis配置——多环境配置
在 MyBatis 中,多环境配置允许为不同数据库创建多个 SqlSessionFactory。通过传递环境参数给 SqlSessionFactoryBuilder,可指定使用哪种环境;若忽略,则加载默认环境。`environments` 元素定义环境配置,包括默认环境 ID、事务管理器和数据源类型等。每个环境需唯一标识,确保默认环境匹配其中之一。代码示例展示了如何构建工厂及配置 XML 结构。
26 0
微服务——MyBatis配置——常见配置
本文介绍了 MyBatis 的常见配置及其加载顺序。属性配置优先级为:方法参数传递的属性 &gt; resource/url 属性中配置 &gt; properties 元素中指定属性。同时列举了多个关键配置项,如 `cacheEnabled`(全局缓存开关)、`lazyLoadingEnabled`(延迟加载)、`useGeneratedKeys`(使用 JDBC 自动生成主键)等,并详细说明其作用、有效值及默认值。这些配置帮助开发者优化 MyBatis 的性能与行为。
24 0
微服务——SpringBoot使用归纳——Spring Boot集成MyBatis——MyBatis 介绍和配置
本文介绍了Spring Boot集成MyBatis的方法,重点讲解基于注解的方式。首先简述MyBatis作为持久层框架的特点,接着说明集成时的依赖导入,包括`mybatis-spring-boot-starter`和MySQL连接器。随后详细展示了`properties.yml`配置文件的内容,涵盖数据库连接、驼峰命名规范及Mapper文件路径等关键设置,帮助开发者快速上手Spring Boot与MyBatis的整合开发。
63 0
微服务——SpringBoot使用归纳——Spring Boot集成Thymeleaf模板引擎——依赖导入和Thymeleaf相关配置
在Spring Boot中使用Thymeleaf模板,需引入依赖`spring-boot-starter-thymeleaf`,并在HTML页面标签中声明`xmlns:th=&quot;http://www.thymeleaf.org&quot;`。此外,Thymeleaf默认开启页面缓存,开发时建议关闭缓存以实时查看更新效果,配置方式为`spring.thymeleaf.cache: false`。这可避免因缓存导致页面未及时刷新的问题。
35 0

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等