找不到包“google.golang.org/protobuf/cmd/protoc-gen-go”

Jan*_*rch 7 go protocol-buffers

页面协议缓冲区基础:Go说两件事:1) 下载包并按照自述文件中的说明进行操作 2) 运行 go install google.golang.org/protobuf/cmd/protoc-gen-go 按照下载协议缓冲区指向发布包含许多语言(C++、C#、...)但不包含 Go 的 tar 和 zip 文件的页面。protobuf-all-3.12.3.tar.gz 文件有很多语言,但没有 Go。README 说对于 Go,请前往 Go 对 Protocol Buffers 的支持,它说它已被模块 google.golang.org/protobuf取代。当我到达那里时,没有任何安装说明,只有指向更多页面的更一般的东西。所以我尝试了步骤(2)

go install google.golang.org/protobuf/cmd/protoc-gen-go
Run Code Online (Sandbox Code Playgroud)

并得到

can't load package: package google.golang.org/protobuf/cmd/protoc-gen-go: cannot find package "google.golang.org/protobuf/cmd/protoc-gen-go" in any of ...
Run Code Online (Sandbox Code Playgroud)

我在浏览器上打开了 9 个选项卡,指向各种 Golang Protocol Buffer 页面,但我仍然没有成功。我已经下载了 protoc 并让它在 Java 和 Python 上正常工作,但是到目前为止安装 Go 已经让我击败了。有没有一个页面可以简单地告诉我该怎么做?曾几何时使用 Github 存储库很容易,但那是很久以前......谢谢,Jan

Jan*_*rch 13

跑步

go get -u google.golang.org/protobuf/cmd/protoc-gen-go
Run Code Online (Sandbox Code Playgroud)

首先在 go install 之前似乎已经解决了它。


koz*_*zmo 1

  1. 下载protoc所需操作系统的二进制文件:github.com => protobuf =>releases
  2. 添加protoc$PATH
  3. 安装protoc-gen-go$GOBIN
user ~ % go install github.com/golang/protobuf/protoc-gen-go
go: finding github.com/golang/protobuf/protoc-gen-go latest
go: downloading google.golang.org/protobuf v1.23.0
go: extracting google.golang.org/protobuf v1.23.0
go: finding google.golang.org/protobuf v1.23.0
Run Code Online (Sandbox Code Playgroud)

注意:特定版本添加@v+version

注意: Go自动安装protoc-gen-go二进制到$GOBIN,如果$GOBIN没有设置,则为 equals $GOPATH/bin