非洲

230201 mac build proto 文件报错 找不到 protoc-gen-go

编译 生成 protobuf go文件的时候始终报错

protoc-gen-go: 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_out: protoc-gen-go: Plugin failed with status code 1.

报错原因是因为没有找到可执行 protoc-gen-go 文件

实际一般安装go的时候都会安装gen-go 只是未将文件link 到 bin执行目录

# 如果未安装 gen-go
go get -u github.com/golang/protobuf/{proto,protoc-gen-go}
# 进入 go binpath
cd cd $GOPATH/go/bin
# 拷贝 文件到bin目录
cp protoc-gen-go /usr/local/bin/

编译过程还是报错

# 编译报错
protoc-gen-go: unable to determine Go import path for "cachepb.proto"

Please specify either:
        • a "go_package" option in the .proto source file, or
        • a "M" argument on the command line.

# 检查版本
protoc --version
libprotoc 3.13.0


实际原因是 protoc 版本过高 1.3 以后 需要 将package 描述写入 proto文件里

cachepb.go

syntax = "proto3";

package cachepb;
option go_package = "/cachepb";      # 新增 package 描述

编译

protoc --go_out=. cachepb/cachepb.proto

赞(25) 打赏
未经允许不得转载:扫地僧 » 230201 mac build proto 文件报错 找不到 protoc-gen-go

评论 抢沙发

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续提供更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫打赏

微信扫一扫打赏

登录

找回密码

注册