Ubuntu系统下protoc-gen-go-grpc未找到或不可执行问题求助
解决方案:protoc-gen-go-grpc 未找到或无法执行问题
报错信息
protoc-gen-go-grpc: 程序未找到或无法执行
请指定程序的绝对路径,或确保该程序已在系统PATH环境变量中
--go-grpc_out: protoc-gen-go-grpc: 插件执行失败,状态码1。
已尝试的无效操作
go get -u github.com/golang/protobuf/{proto,protoc-gen-go}sudo apt install golang-goprotobuf-devsudo apt-get install protobuf-compiler
核心原因
你安装的是旧版protoc-gen-go工具,而protoc-gen-go-grpc是独立的GRPC代码生成插件,并不包含在旧的github.com/golang/protobuf仓库中,需要单独安装。
解决步骤
- 安装最新版的protoc-gen-go和protoc-gen-go-grpc插件
go install google.golang.org/protobuf/cmd/protoc-gen-go@latest go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@latest - 确保Go的二进制目录加入系统PATH
- Go的二进制默认路径为
$HOME/go/bin,先确认该目录下是否存在刚才安装的两个插件 - 临时生效(仅当前终端会话):
export PATH="$PATH:$HOME/go/bin" - 永久生效(所有终端会话):
编辑你的shell配置文件(如~/.bashrc或~/.zshrc),添加上述export命令,然后执行:source ~/.bashrc
- Go的二进制默认路径为
- 验证安装结果
若能正常输出版本号,说明安装成功,重新执行你的protoc编译命令即可。protoc-gen-go --version protoc-gen-go-grpc --version
内容的提问来源于stack exchange,提问作者Thiyagu B
相关产品推荐
相关产品推荐

