Go语言青训营大项目环境配置 | 青训营笔记

288 阅读2分钟

这是我参与「第五届青训营」伴学笔记创作活动的第 17 天,今天学习的内容是关于青训营大项目环境配置的实现步骤,根据课程内容整理学习笔记如下。

开发环境配置

配置 Linux环境

VMWare安装Ubuntu20.04版本虚拟机,换源等等

Win11要使用16.2以上版本,且需要开启虚拟化,否则会导致蓝屏

配置 git

安装git

sudo apt install git

git --version 验证安装

配置git全局环境

git config --global user.name "用户名"
git config --global user.email "邮箱地址"

git config --list 验证配置

生成ssh密钥

ssh-keygen -t rsa -C '邮箱地址'

打开并复制公钥,在对应代码库中输入

cd ~/.ssh
cat id_rsa.pub

测试连接

ssh -T git@gitee.com
ssh -T git@github.com

出现Hi与successfully字样表示配置成功

配置 Go环境

官网下载Linux 1.19版本Go语言包

image.png

解压缩到 /opt 目录下

sudo tar -zxvf go1.19.5.linux-amd64.tar.gz -C /opt

image.png

进入目录设置权限

cd /opt
sudo chmod -R 0777 go

设置环境变量

sudo gedit /etc/profile

主要设置GOROOT和GOPATH两个环境变量,其中GOPATH表工作目录,在后续开发里大多使用 go mod ,因此设置在主目录新建的 GOPATH 文件夹中

#for golang
export GOROOT=/opt/go #GOROOT是系统上安装Go软件包的位置。
export GOPATH=/home/xie/GOPATH #GOPATH是工作目录的位置。
export PATH=$GOPATH/bin:$GOROOT/bin:$PATH

使设置马上生效

. etc/profile

更改代理

echo "export GO111MODULE=on" >> ~/.profile
echo "export GOPROXY=https://goproxy.cn" >> ~/.profile
source ~/.profile

可以使用 go env 查看配置

image.png

创建测试文件

go mod init hello

新建 hello.go 文件

package main

import "fmt"

func main() {
	fmt.Printf("hello, world\n")
}

测试运行输出即可

go run hello.go

image.png

配置 kitenx

参考官方文档 - 快速开始

安装代码生成工具

go install github.com/cloudwego/kitex/tool/cmd/kitex@latest
go install github.com/cloudwego/thriftgo@latest

kitex --versionthriftgo --version 验证安装

image.png

参考快速开始进行实例代码测试

配置 MySQL

安装mysql

sudo apt update
sudo apt install mysql-server

验证版本信息与服务运行状态

mysql --version
sudo systemctl status mysql

image.png

8.0以上版本修改初始密码(初始密码可用 sudo cat /etc/mysql/debian.cnf 查看)

sudo mysql
use mysql; 
update user set authentication_string='' where user='root';      --将字段置为空
alter user 'root'@'localhost' identified with mysql_native_password by '1234';     
--修改密码为1234

image.png

正常进入mysql

mysql -u root -p
1234

image.png

MySQL常用命令大全

安装图形化管理软件Navicat

image.png

刷新试用

rm -rf ~/.config/navicat    
rm -rf ~/.config/dconf/user

配置 GORM

参考官方文档 - 快速开始

安装 gormmysql 数据驱动

go install gorm.io/gorm@latest
go install gorm.io/driver/mysql@latest

参考快速开始进行实例代码测试

配置 Hertz

参考官方文档 - 快速开始

安装命令行工具 hz

go install github.com/cloudwego/hertz/cmd/hz@latest

hz --version 检查安装

image.png

参考快速开始进行实例代码测试

配置 ETCD

参考官方文档 - 快速开始

克隆仓库

git clone -b v3.5.0 https://github.com/etcd-io/etcd.git

image.png

打开文件夹并运行脚本编译

cd etcd
./build.sh

构建成功

image.png

生成的文件在 etcd/bin 文件夹下

image.png

添加系统环境变量

sudo vim /etc/profile

#for ETCD
export PATH=$PATH:/home/xie/go/etcd/bin

重启系统生效,可用 etcd --version 检查是否正确配置

image.png

启动ETCD

etcd

image.png

打开另一终端,设置并测试key

etcdctl put greeting "Hello, etcd"

etcdctl get greeting

image.png

配置成功

配置 protoc

到github的Release下载protoc最新稳定版

image.png

解压并将整个文件夹复制到 /opt 目录

sudo cp -r protoc-21.12-linux-x86_64 /opt

添加系统环境变量

sudo vim /etc/profile

#for protoc
export PATH=$PATH:/opt/protoc-21.12-linux-x86_64/bin

source /etc/profile

重启系统生效,可用 protoc --version 检查是否正确配置

image.png

配置 protoc-gen-go

直接安装即可

go install google.golang.org/protobuf/cmd/protoc-gen-go@latest

可用 protoc-gen-go --version 检查是否正确配置

image.png

配置 安装docker

参考:在 Ubuntu 上安装 Docker 引擎

安装docker

用官方的脚本进行自动安装

curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh

检查安装

sudo docker run hello-world

image.png

配置 安装docker-compose

参考:Docker Compose

运行以下命令以下载 Docker Compose 的当前稳定版本:

sudo curl -L "https://github.com/docker/compose/releases/download/v2.2.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

将可执行权限应用于二进制文件:

sudo chmod +x /usr/local/bin/docker-compose

创建软链:

sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

测试是否安装成功:

docker-compose version

image.png