windows go环境 搭建 go-grpc

一、go环境安装
1、下载 golang.google.cn
[图片]
2、下载并安装,然后配置环境变量。我将压缩包下载到D盘的自己建立的go文件夹,然后解压缩生成go,在自己建立的go文件夹的同级目录下建立go_work文件夹。
在这里插入图片描述
3、添加系统变量
在这里插入图片描述
4、编辑path
在这里插入图片描述
over
二、下载并配置protoc.exe
1、下载Release Protocol Buffers v3.19.4 · protocolbuffers/protobuf
在这里插入图片描述

2、 选择最新的 protoc-3.19.0-win64.zip,解压缩,找到bin目录下的protoc.exe,将protoc.exe放到go环境的bin目录下。
在这里插入图片描述
3、 为了确保能找到protoc.exe,需要在系统环境变量的PATH设置。
在这里插入图片描述
4、可以使用命令查看版本 protoc --version
在这里插入图片描述

三、安装protobuf和grpc
1、安装protobuf
1)执行 go get -u github.com/golang/protobuf/proto

报错:go get: module github.com/golang/protobuf/protoc-gen-go: Get
“https://proxy.golang.org/github.com/golang/protobuf/protoc-gen-go/@v/list”:
dial tcp 142.251.42.241:4 43: connectex: A connection attempt failed
because the connected party did not properly respond after a period of
time, or established connection failed because connected host has
failed to respond.

解决办法,先执行如下两条命令:

go env -w GO111MODULE=on
go env -w GOPROXY=https://goproxy.cn,direct

再执行go get下载(如果还继续报错,那看看是不是下面的错误)
2) 执行go get -u github.com/golang/protobuf/protoc-gen-go

报错: go: module github.com/golang/protobuf is deprecated: Use the
“google.golang.org/protobuf” module instead. go get: installing
executable with ‘go get’ in module mode is deprecated.
Use ‘go install pkg@version’ instead.
For more information, see https://golang.org/doc/go-get-install-deprecation
or run ‘go help get’ or ‘go help install’.

解决办法,报了两个错误:
现在想要拉取protoc-gen-go需要去google.golang.org/protobuf拉取,原来的路径已经废弃了。
使用的go版本是1.17。而Go1.17版使用go install安装依赖。所以应该按照它下面的格式go install pkg@version进行拉取。
所以拉取命令如下:

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

报错: go install: google.golang.org/protobuf/cmd/proto@latest: module
google.golang.org/protobuf@latest found (v1.28.0), but does not
contain package google.golang.org/protobuf/cmd/proto

解决办法:
找到GOPATH/src目录,新建google.golang.org文件夹。(如果有,可以把里面的内容删除)在google.golang.org目录下打开cmd,执行:

git clone https://e.coding.net/robinqiwei/googleprotobuf.git protobuf

在这里插入图片描述
安装完后,会在bin目录下生成protoc-gen-go.exe
在这里插入图片描述
使用命令安装grpc

go get -u google.golang.org/grpc

如果不行

  • 下载net包: git clone https://github.com/golang/net.git $GOPATH/src/golang.org/x/net#
  • 下载text包:git clone https://github.com/golang/text.git $GOPATH/src/golang.org/x/text
  • 下载go-genproto包:git clone https://github.com/google/go-genproto.git $GOPATH/src/google.golang.org/genproto
  • 下载grpc-go包:git clone https://github.com/grpc/grpc-go.git $GOPATH/src/google.golang.org/grpc

切换到GOPATH/src目录,执行如下命令: go installgoogle.golang.org/grpc
四、测试
1、 www.grpc.io(进入网站可看到如下页面)
绿色框的内容我们已经完成了,可以将红色框的内容执行一遍。
在这里插入图片描述
2、下载grpc实例

git clone -b v1.46.0 --depth 1 https://github.com/grpc/grpc-go

在这里插入图片描述

3、运行实例
1)可以用编译器打开其中的examples文件夹
2)启动终端执行:go run greeter_server/main.go
在这里插入图片描述
3)另起终端编译并执行:go run greeter_client/main.go
在这里插入图片描述
4)其中最重要的文件是这两个pb.go文件,但是我们下载下来的例子其实是自带这两个文件的。
在这里插入图片描述 将这两个文件删除后就会发现我们的程序不好用了。
重新编译生成pb.go文件

protoc --go_out=. --go_opt=paths=source_relative  --go-grpc_out=. --go-grpc_opt=paths=source_relative  helloworld/helloworld.proto   //一整行的命令
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值