似乎无法 运行 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
安装。
我对使用 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
安装。