似乎无法 运行 protoc 命令而不 运行ning 出错

Can't seem to run protoc command without running into error

我对使用 protocol buffers 还很陌生,在让它们与 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/...@v1.25.0

然后:

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.

我发现其他帖子和 none 推荐路径有帮助。我正在 运行宁 macOS 10.13.6 与 zsh 而不是 bash 并且 运行宁没有尝试的东西。如果有人有任何建议,我将不胜感激。

您必须安装 protoc-gen-go

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

不推荐使用 go get 安装。