go - protoc-gen-go:程序未找到或不可执行
问题描述
我正在尝试使用 go grpc 构建示例应用程序,但无法使用“protoc”生成代码
已使用以下命令安装了所需的库/go 包:
- 去获取 -u google.golang.org/grpc
- go get -u github.com/golang/protobuf/protoc-gen-go
也尝试过设置路径,但没有运气。
示例“原型”文件:
syntax = "proto3";
package greet;
option go_package="greetpb";
service GreetService{}
错误消息:“protoc-gen-go:程序未找到或不可执行--go_out:protoc-gen-go:插件失败,状态码为 1。”
解决方案
有两种方法可以安装 protobuf 编译器,如果你在 Ubuntu 上,你可以使用这个,
sudo apt install protobuf-compiler
然后当然有标准的方式,
go get -u github.com/golang/protobuf/{proto,protoc-gen-go}
在这里,它只是添加路径。假设您在安装 Go 时执行了此操作,
echo 'export GOPATH=$HOME/Go' >> $HOME/.bashrc
source $HOME/.bashrc
现在你可以扩展它,
echo 'export PATH=$PATH:$GOPATH/bin' >> $HOME/.bashrc
source $HOME/.bashrc
奇怪的protoc
是不能展开~
。
推荐阅读
- c# - 使用 Azure AD 的多租户联合网关
- sql - 我们可以跳过回滚到特定表并在 SQL 事务中回滚其他表吗
- python - 如何获取嵌套列的唯一元素的 value_counts()?
- excel - Microsoft Explorer 和 dir 命令之间的不同文件排序
- excel - Excel公式在行簇内计数(由相同的值定义)和相邻列的值对于给定的簇是相同的
- python - boto3 s3.download_file 挂在 docker 中
- gradient - 类型“CAGradientLayerType”(又名“NSString”)没有成员“圆锥”
- java - 在计时器完成或取消后运行代码
- laravel - 我可以将 L6 Auth 脚手架作为纯粹的 API 与 tymon/jwt-auth 一起使用吗?
- ubuntu - 在其他目录执行脚本