登录
首页 >  Golang >  Go问答

遇到错误的问题似乎使 protoc 命令无法运行

来源:stackoverflow

时间:2024-02-27 08:45:22 275浏览 收藏

哈喽!今天心血来潮给大家带来了《遇到错误的问题似乎使 protoc 命令无法运行》,想必大家应该对Golang都不陌生吧,那么阅读本文就都不会很困难,以下内容主要涉及到,若是你正在学习Golang,千万别错过这篇文章~希望能帮助到你!

问题内容

我对使用协议缓冲区相当陌生,并且在让它们与 go 一起使用时遇到了一些麻烦。我一直在关注一些关于安装它并设置以创建我的 make 文件的帖子和视频教程。到目前为止我尝试过的是:

使用此命令安装:

wget https://github.com/protocolbuffers/protobuf/\ releases/download/v3.9.0/protoc-3.9.0-osx-x86_64.zip

随后:

unzip protoc-3.9.0-osx-x86_64.zip -d /usr/local/protobuf

我使用tree命令查看使用unzip命令创建的目录的内容,如下所示:

/usr/local/protobuf
├── bin
│ └── protoc
├── include
│ └── google
│ └── protobuf
│ ├── any.proto
│ ├── api.proto
│ ├── compiler
│ │ └── plugin.proto
│ ├── descriptor.proto
│ ├── duration.proto
│ ├── empty.proto
│ ├── field_mask.proto
│ ├── source_context.proto
│ ├── struct.proto
│ ├── timestamp.proto
│ ├── type.proto
│ └── wrappers.proto └── readme.txt

然后我尝试将命令添加到路径

echo 'export path="$path:/usr/local/protobuf/bin"' >> ~/.zshenv

这允许我运行命令 protoc --version ,它给了我输出:libprotoc 3.17.3

但是在编写原型文件后,我尝试运行命令

go get google.golang.org/protobuf/[email protected]

然后:

protoc api/v1/*.proto --go_out=. --go_opt=paths=source_relative --proto_path=.

这会产生错误:

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.

我找到了关于此的其他帖子,但推荐的路径都没有帮助。我正在使用 zsh 而不是 bash 运行 macos 10.13.6,并且没有什么可以尝试的了。如果有人有任何建议,我将不胜感激。


正确答案


您必须安装 protoc-gen-go

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

不推荐使用 go get 进行安装。

终于介绍完啦!小伙伴们,这篇关于《遇到错误的问题似乎使 protoc 命令无法运行》的介绍应该让你收获多多了吧!欢迎大家收藏或分享给更多需要学习的朋友吧~golang学习网公众号也会发布Golang相关知识,快来关注吧!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>