最近也是在开始学习微服务,没想到这个环境搭建差点给我送走,基本上坑全踩了一遍。话不多说,直接上干货。
踩到的坑我放在文章末尾,如果在以下环境搭建的过程中遇到了问题,文章末尾绝对可以助你一臂之力!!!
一、 protobuf的安装
-
下载 protobuf
方法一:===> git clone https://github.com/protocolbuffers/protobuf.git 方法二:===> 或者将准备好的压缩包进行拖入 解压到$GOPATH/src/github.com/protocolbuffers/下面 Unzip protobuf.zip 也可以直接把exe文件拖到GOPATH目录下的bin文件。
-
安装protobuf的go语言插件
由于protobuf并没直接支持go语言需要我们手动安装相关插件
(1)下载 方法一:===> go get -v -u github.com/golang/protobuf/proto 方法二:===>或者将 github.com-golang-protobuf.zip拖入 进行解压到 $GOPATH/src/github.com/golang (2)进入到文件夹内进行编译 $ cd $GOPATH/src/github.com/golang/protobuf/protoc-gen-go $ go build (3)将生成的 protoc-gen-go可执行文件,放在/bin目录下 $ sudo cp protoc-gen-go /bin/ (4)尝试补齐protoc-gen-go 如果可以补齐代表成功,如果执行不报错 代表工具成功
二、 grpc环境安装
-
官方推荐安装方法:
go get -u -v google.golang.org/grpc
但是由于一些原因,大部分同学不能直接访问google官网,所以只能曲线救国了
-
通过github下载各种依赖库,然后配置。
git clone https://github.com/grpc/grpc-go.git $GOPATH/src/google.golang.org/grpc git clone https://github.com/golang/net.git $GOPATH/src/golang.org/x/net git clone https://github.com/golang/text.git $GOPATH/src/golang.org/x/text git clone https://github.com/google/go-genproto.git $GOPATH/src/google.golang.org/genproto cd $GOPATH/src/ go install google.golang.org/grpc
网络畅通可以用上述方法,但如果网速较慢,我们也可以选择离线安装方法。
-
用
x.zip
和google.golang.org.zip
两个离线包来安装。#将x.zip 解压到 $GOPATH/src/golang.org/x 目录下 $ unzip x.zip -d $GOPATH/src/golang.org/x #将google.golang.org.zip 解压到 $GOPATH/src/google.golang.org 目录下 $ unzip google.golang.org.zip -d $GOPATH/src/google.golang.org #然后进入到$GOPATH/src/google.golang.org/grpc下面执行go install $ go install
三、 consul安装
Consul用Golang实现,因此具有天然可移植性 (支持 Linux、windows和macOS)。安装包仅包含一个可执行文件。 Consul安装非常简单,只需要下载对应系统的软件包并解压后就可使用。
安装步骤如下:
# 这里以 ubuntu系统为例:
$ wget https://releases.hashicorp.com/consul/1.5.2/consul_1.5.2_linux_amd64.zip
$ unzip consul_1.5.2_linux_amd64.zip
$ sudo mv consul /usr/local/bin/
教室网速原因,用老师给的离线包解压即可
其他系统版本可以在这里下载:https://www.consul.io/downloads.html
安装验证:
安装 Consul后,通过执行 consul命令,你可以看到命令列表的输出
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GIg8zwNu-1662607111885)(assets\1538380442745.png)]
没有报错就成功了
四、go-micro安装
做了这么久的铺垫,接着让我们来进入主题,go-micro的学习,首先我们先来安装一下go-micro开发环境。安装步骤如下:
#安装go-micro
go get -u -v github.com/micro/go-micro
#安装工具集
go get -u -v github.com/micro/micro
#安装protobuf插件
go get -u github.com/golang/protobuf/{proto,protoc-gen-go}
go get -u github.com/micro/protoc-gen-micro
或者通过docker镜像安装:
$ docker pull microhq/micro
安装之后输入micro命令,显示如下就证明安装成功
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-c4UC3Vbf-1662607160613)(assets\1565108115509.png)]
注意事项:
一、好了,现在坑来了,博主在下载了无数遍文件之后,怎么也找不到所谓.exe文件到底在哪,把目录翻了个底朝天,最后经历了五个小时的谷歌,终于找到了问题所在。我们在下载的时候需要自己手动编译才能生成二进制可执行文件,需要找到对应目录,例如:E:\workspace\pkg\mod\google.golang.org\protobuf@v1.26.0\cmd\protoc-gen-go
这是我的下载目录,在此目录下打开cmd执行go install
然后奇迹发生了,终于找到了二进制文件。此方法也适用于以下安装过程,本人亲测有奇效!!!**
二、在执行git命令的时候失败,分为以下几种情况
1.没有设置代理,无法访问github
解决方法:cmd执行在`go env -w GOPROXY=https://goproxy.cn,direct
`2.没有go mod之类的报错
解决方法:在该目录下执行
go mod init xxx
go mod tidy
如果还是报错exisit mod but should no ,那么删掉go mod文件,使用goland终端下载,之后去执行第一步。