本文直接用安装包的方式安装。

源码编译安装参考: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/

  1. 添加go依赖包的代理
# go env -w GO111MODULE=on
//重要:添加代理,参考:https://goproxy.cn/
# go env -w GOPROXY=https://goproxy.cn,direct
  1. 安装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
  1. 安装protoc-gen-go插件
# go get google.golang.org/protobuf/cmd/protoc-gen-go
  1. 安装grcp-go
# go get google.golang.org/grpc/cmd/protoc-gen-go-grpc
  1. 修改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

测试成功!

go语言的grpc环境安装的更多相关文章

  1. scala语言简介及其环境安装

    scala语言简介及其环境安装 简介: 1.运行在JVM 上,兼容java语言 Scala的代码,都需要经过编译为字节码,然后交由Java虚拟机来运行.所以Scala和Java是可以无缝互操作的.Sc ...

  2. python的grpc环境安装

    环境 ubuntu:bionic的docker image docker run -it ubuntu:bionic python的grpc环境安装 参考grpc官网:https://grpc.io/ ...

  3. go的grpc环境源码编译安装

    go的grpc环境安装 参考grpc-go官方文档:https://grpc.io/docs/languages/go/quickstart/ 视频教程:https://www.bilibili.co ...

  4. 三、安装cmake,安装resin ,tars服务,mysql 安装介绍,安装jdk,安装maven,c++ 开发环境安装

    三.安装cmake,安装resin 2018年07月01日 21:32:05 youz1976 阅读数:308   开发环境说明: centos7.2 ,最低配置:1核cpu,2G内存,1M带宽 1. ...

  5. Ubuntu下安装R语言和开发环境

    [简介]R是用于统计分析.绘图的语言和操作环境.R是属于GNU系统的一个自由.免费.源代码开放的软件,它是一个用于统计计算和统计制图的优秀工具. [R语言的安装]官网:https://www.r-pr ...

  6. 安装go语言,配置环境及IDE,只需3步

    安装go语言,配置环境及IDE,只需3步 ( 欢迎加入go语言群: 218160862 , 群内有实践) 第1.下载 go压缩包,解压   ,如果你是window系统,请选择go1.5.windows ...

  7. 【Go】 Go 语言环境安装

    安装环境/工具 1.Linux(CentOS 7.4版) 2.go1.11.2.linux-amd64.tar Go 语言环境安装 1.下载安装包 安装包下载地址为:https://golang.or ...

  8. 学习Go语言(一)环境安装及HelloWorld

    自己开发的时候,一般用Java和C#居多,偶尔也用Python做点东东. 想体验一下比较“现代”语言,思来想去就来体验一下Go语言. 闲话少叙,言归正传,首先就是环境安装,这个轻车熟路: (1)到官网 ...

  9. P4语言环境安装(一)前端编译器p4c、后端编译器p4c-bm2-ss

    这个P4安装环境是在2020-2-8安装的,安装环境卡了我好几天,把遇到的问题记录下来,有需要的同学可以参考一下,要是说错了或者有问题的话,评论或mail:guidoahead@163.com联系我都 ...

随机推荐

  1. [题解] HDU 5115 Dire Wolf 区间DP

    考虑先枚举所有的物品中最后拿走的,这样就分成了2个子问题,即先拿完左边的,再拿完右边的,最后拿选出的那个.令dp(i,j)表示拿完[i,j]所有物品的最小代价.你可能会说,我们拿[i,j]这一段物品的 ...

  2. 自定义View6 -塔防小游戏:第三篇防御塔随意放置+多组野怪

    第一篇:一个防御塔+多个野怪(简易版)第二篇:防御塔随意放置第三篇:防御塔随意放置+多组野怪 1.动态addView防御塔 2.防御塔放置后不可以移动 3.弯曲道路 4.素材替换 第四篇:多波野怪 第 ...

  3. ArrayList LinkedList Vector之间的区别

    List主要有ArrayList,LinkedList和vector三种实现.这三种都实现了List接口,使用方式也很相似,主要区别在于其实现方式的不同! 这三种数据结构中,ArrayList和Vec ...

  4. hadoop集群配置全过程

    一.nat配置1.虚拟机->编辑->虚拟网络编辑器->更改设置->移除原VMnet8->加新的VMnet8->点击NAT模式 桥接模式->NAT模式,初始化一 ...

  5. 微信小程序专题(一)-----微信后台的相关开发

    本人最近在做微信小程序后端的相关开发工作 接触到微信小程序目前来讲需要两个条件 1.前端通过后台服务器去调用微信平台接口,来获取openid: 2.前端必须调用https 跟域名的形式 不得出现ip加 ...

  6. shell脚本之一键部署openV~P~N

    提前准备:/root目录下: checkpsw.sh ## 官方提供的自定义脚本,可在http://openvpn.se/files/other/checkpsw.sh下载 openvpn@.serv ...

  7. 野火 STM32MP157 开发板内核和设备树的编译烧写

    一.环境 编译环境:Ubuntu 版本:18.4.6 交叉编译工具:arm-linux-gnueabihf-gcc 版本:7.4.1 开发板:STM32MP157 pro 烧写方式:STM32Cube ...

  8. Go语言核心36讲09

    从本篇文章开始,我们正式进入了模块2的学习.在这之前,我们已经聊了很多的Go语言和编程方面的基础知识,相信你已经对Go语言的开发环境配置.常用源码文件写法,以及程序实体(尤其是变量)及其相关的各种概念 ...

  9. std C++11 生成随机数组

    #include <algorithm> #include <array> #include <iostream> #include <iterator> ...

  10. python进阶(29)单例模式

    初识单例模式 单例模式含义 单例模式,也叫单子模式,是一种常用的软件设计模式.在应用这个模式时,单例对象的类必须保证只有一个实例存在.许多时候整个系统只需要拥有一个的全局对象,这样有利于我们协调系统整 ...