未知标志:--go_opt,同时重新生成gRPC代码

ax6ht2ek  于 12个月前  发布在  Go
关注(0)|答案(4)|浏览(168)

我在这个链接https://grpc.io/docs/languages/go/quickstart/中遵循gRPC快速入门文档,在重新生成gRPC代码时,我得到了错误(未知标志:--go_opt),如下所示。尝试了所有选项,但不起作用。它也给出了(未知标志:--go-grpc_opt)错误。
命令-

$ protoc \
  --go_out=Mgrpc/service_config/service_config.proto=/internal/proto/grpc_service_config:. \
  --go-grpc_out=Mgrpc/service_config/service_config.proto=/internal/proto/grpc_service_config:. \
  --go-grpc_opt=paths=source_relative \
  helloworld/helloworld.proto

Error - Unknown flag: --go_opt

字符串

pbpqsu0x

pbpqsu0x1#

我也遇到了同样的问题。我删除了安装的protobuf编译器,并在https://grpc.io/docs/protoc-installation/中重新安装了带有“安装预编译二进制文件”选项的protobuf编译器。

sudo apt-get remove protobuf-compiler
$PB_REL="https://github.com/protocolbuffers/protobuf/releases"
$ curl -LO $PB_REL/download/v3.12.1/protoc-3.12.1-linux-x86_64.zip

$sudo apt install unzip
$unzip protoc-3.12.1-linux-x86_64.zip -d HOME/.local

$export PATH="$PATH:$HOME/.local/bin"

字符串

cwtwac6a

cwtwac6a2#

这个问题似乎很常见,有几个不同的痛点,所以我会添加一个答案,可能有助于突出一堆问题:
1.旧版本的编译器没有_opt标志
1.如果还指定--foo_out标志,则protoc具有--foo_opt标志only
1.一些教程 * 可能 * 使用了不正确的export命令,因此请验证protoc和其他二进制文件(如protoc-gen-go-grpc)是否已实际添加到路径中(根据系统,有许多方法可以检查/修改PATH变量,添加基本资源以开始使用WindowsUnix

fgw7neuy

fgw7neuy3#

我得到了同样的错误,然后我试着这样做:

protoc --proto_path=helloworld --go_out=paths=source_relative:. -I. helloworld/*.proto

字符串

myzjeezk

myzjeezk4#

第四行:--go_opt=paths=source_relative \

相关问题