go语言的grpc环境安装
2024-10-20 16:18:36
本文直接用安装包的方式安装。
源码编译安装参考:https://www.cnblogs.com/abc36725612/p/14288333.html
环境
golang的docker image
docker run -it golang:alpine
go语言的grpc环境安装
参考官方grpc-go文档:https://grpc.io/docs/languages/go/quickstart/
- 添加go依赖包的代理
# go env -w GO111MODULE=on
//重要:添加代理,参考:https://goproxy.cn/
# go env -w GOPROXY=https://goproxy.cn,direct
- 安装protobuf
# apk add protobuf
fetch http://dl-cdn.alpinelinux.org/alpine/v3.12/main/x86_64/APKINDEX.tar.gz
fetch http://dl-cdn.alpinelinux.org/alpine/v3.12/community/x86_64/APKINDEX.tar.gz
(1/7) Installing libgcc (9.3.0-r2)
(2/7) Installing libstdc++ (9.3.0-r2)
(3/7) Installing libprotobuf (3.12.2-r0)
(4/7) Installing libprotoc (3.12.2-r0)
(5/7) Installing protoc (3.12.2-r0)
(6/7) Installing libprotobuf-lite (3.12.2-r0)
(7/7) Installing protobuf (3.12.2-r0)
Executing busybox-1.31.1-r19.trigger
OK: 13 MiB in 22 packages
//查看版本
# protoc --version
libprotoc 3.12.2
- 安装protoc-gen-go插件
# go get google.golang.org/protobuf/cmd/protoc-gen-go
- 安装grcp-go
# go get google.golang.org/grpc/cmd/protoc-gen-go-grpc
- 修改PATH,使得protoc 编译器能找到protoc-gen-go插件
export PATH="$PATH:$(go env GOPATH)/bin"
环境安装完成!
验证
下载示例代码:https://github.com/grpc/grpc-go
服务端启动
$ docker ps | grep golang
f37f662a3f54 golang "/bin/sh" 14 minutes ago Up 14 minutes ecstatic_lamport
$ docker exec -it f37f662a3f54 sh
# cd /grpc-go/examples/helloworld/
helloworld # ls
greeter_client greeter_server helloworld
helloworld # go run greeter_server/main.go
go: downloading github.com/golang/protobuf v1.4.2
go: downloading google.golang.org/genproto v0.0.0-20200806141610-86f49bd18e98
go: downloading golang.org/x/net v0.0.0-20190311183353-d8887717615a
go: downloading golang.org/x/text v0.3.0
2021/01/16 11:41:50 Received: world
客户端启动
$ docker ps | grep golang
f37f662a3f54 golang "/bin/sh" 14 minutes ago Up 14 minutes ecstatic_lamport
$ docker exec -it f37f662a3f54 sh
# cd /grpc-go/examples/helloworld/
helloworld # ls
greeter_client greeter_server helloworld
helloworld # go run greeter_client/main.go
2021/01/16 11:41:50 Greeting: Hello world
测试成功!
最新文章
- Lambda 表达式[MSDN]
- Learn ZYNQ (8)
- java多线程基础
- zoj 2110
- 开启tomcat的apr模式,并利用redis做tomcat7的session的共享。
- JavaWeb学习笔记九 过滤器、注解
- bisect 二分查找
- 外呼系统APP外呼软件手机电销软件拨号销售软件功能设计
- Apicloud学习第三天——获取云数据库的数据方法
- 从Java到JVM到OS线程睡眠
- Jmeter使用笔记之html报告扩展(一)
- Collection 接口
- iOS 线上版本图片资源格式的问题导致的闪退
- CDMA码片序列问题
- java.lang.NoClassDefFoundError: org/springframework/web/context/WebApplicationContext
- PyMongo基本使用
- 深入了解Linux(一)
- SQL SERVER循环遍历(普通循环和游标循环)
- FFmpeg在Linux下编译使用
- jquery-osx