在学习使用 go-micro 的时候,遇到了很多坑,最令人沮丧的便是起步时的安装问题。在网上查找相关资料,尝试了很多方案,基本上都是失败的。经过耐心的尝试还是解决了这个问题,这也是我开始写博客的原因。我的博客内容全部是验证过的,不验证的不写。
安装 micro 失败的问题
尝试安装了很多次 micro 总是失败,后面安装这个操作成功:
# 设置 mod 模式和代理
go env -w GO111MODULE=on
go env -w GOPROXY=https://goproxy.cn,https://proxy.golang.org,direct
# 安装
go get -u -v github.com/golang/protobuf/protoc-gen-go
go get -u -v google.golang.org/grpc
# 这里若加 -u 选项貌似会报错,就不加了
go get -v github.com/micro/micro/v2
go get -u -v github.com/micro/go-micro/v2
go get -v github.com/micro/micro/v2/cmd/protoc-gen-micro@master
安装成功后会在 GoPathbin 目录下生成 protoc-gen-micro.exe、micro.exe 文件。
报错问题
查看版本报错:
PS D:CodeCodeToolsGoPathbin> micro help
panic: qtls.ConnectionState not compatible with tls.ConnectionState
goroutine 1 [running]:
github.com/lucas-clemente/quic-go/internal/handshake.init.1()
D:/Code/CodeTools/GoPath/pkg/mod/github.com/lucas-clemente/quic-go@v0.14.1/internal/handshake/unsafe.go:17 +0x139
执行 micro 相关命令报错:
PS C:UsersYC> cd D:CodeCodeToolsGoPathbin
PS D:CodeCodeToolsGoPathbin> micro api --handler=api
panic: qtls.ConnectionState not compatible with tls.ConnectionState
goroutine 1 [running]:
github.com/lucas-clemente/quic-go/internal/handshake.init.1()
D:/Code/CodeTools/GoPath/pkg/mod/github.com/lucas-clemente/quic-go@v0.14.1/internal/handshake/unsafe.go:17 +0x139
这是由于我是从 1.6.2 开始安装 micro 导致,go 版本换成 1.14.15
,删除 GoPath 相关文件之后,重新进行下载,问题解决!
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。