--go_out: protoc-gen-go: plugins are not supported;

发布时间 2023-06-16 14:46:14作者: TaylorSWMM

记录问题:--go_out: protoc-gen-go: plugins are not supported;

标签(空格分隔): grpc,protoc-gen-go


grpc官网:https://grpc.io/docs/languages/go/quickstart/
官网写的要安装以下:

$ go install google.golang.org/protobuf/cmd/protoc-gen-go@v1.28
$ go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@v1.2

之前生成pb文件的命令是:

protoc --go_out=plugins=grpc:. --go_opt=paths=source_relative ./user.proto

但是这个会报错:

--go_out: protoc-gen-go: plugins are not supported; use 'protoc --go-grpc_out=...' to generate gRPC

See https://grpc.io/docs/languages/go/quickstart/#regenerate-grpc-code for more information.

一直提示这个不存在protoc-gen-go,实际明明是有的,若果使用官方文档写的命令是可以成功的

$ protoc --go_out=. --go_opt=paths=source_relative \
    --go-grpc_out=. --go-grpc_opt=paths=source_relative \
    helloworld/helloworld.proto

这个命令会生成两个pb文件,如果你还想用之前的命令,就需要换一个protoc-gen-go
github地址:https://github.com/golang/protobuf

go install github.com/golang/protobuf/protoc-gen-go

这样就可以用之前的命令来生成pb文件,并且是在一个文件里