首页 >后端开发 >Golang >为什么'protoc”失败并显示'protoc-gen-go:找不到程序”以及如何修复它?

为什么'protoc”失败并显示'protoc-gen-go:找不到程序”以及如何修复它?

Susan Sarandon
Susan Sarandon原创
2024-12-03 10:57:10737浏览

Why Does

由于“protoc-gen-go:找不到程序”错误,无法使用“Protoc”生成代码

问题:

我在生成代码时遇到以下错误"protoc":

"protoc-gen-go: program not found or is not executable
--go_out: protoc-gen-go: Plugin failed with status code 1."

尽管安装了必要的库,例如 google.golang.org/grpc 和 github.com/golang/protobuf/protoc-gen-go,但我无法解决此问题。

解决方案:

Go 版本1.17 及更高版本,不推荐使用 go get 安装可执行文件。相反,使用 go install:

1。更新环境变量:

编辑 ~/.bashrc 或 ~/.zshrc 并添加以下行:

export GOPATH=$HOME/go
export PATH=$PATH:$GOPATH/bin

2.安装 Protobuf 和 gRPC 插件:

使用以下命令安装 Protobuf 和 gRPC 插件:

go install google.golang.org/protobuf/cmd/protoc-gen-go@latest
go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@latest

3.生成代码:

您现在应该能够使用协议生成代码,如下所示:

protoc --go-grpc_out=. *.proto

以上是为什么'protoc”失败并显示'protoc-gen-go:找不到程序”以及如何修复它?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn