--go-grpc_out: protoc-gen-go-grpc: 插件失败,状态代码 1

Zoh*_*sif 5 go proto grpc protoc

当我编译我的原型文件时,我收到此错误:

protoc-gen-go-grpc: program not found or is not executable
Please specify a program using absolute path or make sure the program is available in your PATH system variable
\--go-grpc_out: protoc-gen-go-grpc: Plugin failed with status code 1.
Run Code Online (Sandbox Code Playgroud)

我正在使用这些版本:

二进制 版本
原型-gen-go v1.25.0-开发
协议 v3.12.4

我尝试编译这个原型文件:

protoc-gen-go-grpc: program not found or is not executable
Please specify a program using absolute path or make sure the program is available in your PATH system variable
\--go-grpc_out: protoc-gen-go-grpc: Plugin failed with status code 1.
Run Code Online (Sandbox Code Playgroud)

我使用了这个命令:

syntax = "proto3";

option go_package = "proto/";

message GreetingRequest {
  string first_name = 1;
  string last_name = 2;
}
message GreetingResponse{
  string result = 1;
}

service AddService{
  rpc Greet(GreetingRequest) returns (GreetingResponse) {};
}
Run Code Online (Sandbox Code Playgroud)

我安装protoc-gen-go-grpc使用:

protoc \
--proto_path=proto \
--go_out=proto \
--go_opt=paths=source_relative \
--go-grpc_out=proto \
--go-grpc_opt=paths=source_relative \
service.proto
Run Code Online (Sandbox Code Playgroud)

但它仍然显示此错误。

小智 2

您好,如果您在 mac m1 上运行,请尝试使用此命令

导出 PATH="$PATH:$(go env GOPATH)/bin"

要使此更改永久生效,您可能需要修改 ~/.zshrc 文件并获取它

从这里得到的

https://grpc.io/docs/languages/go/quickstart/