簡體   English   中英

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

[英]cannot find package "google.golang.org/protobuf/cmd/protoc-gen-go"

The page Protocol Buffer Basics: Go says 2 things: 1) Download the package and follow instructions in README 2) Run go install google.golang.org/protobuf/cmd/protoc-gen-go Following the Download Protocol Buffers points to the release頁面包含 tar 和 zip 文件,適用於多種語言(C++、C#,...),但沒有 Go。 文件 protobuf-all-3.12.3.tar.gz 有多種語言,但沒有 Go。 自述文件中提到 Go,請前往Go 支持協議緩沖區,它說它已被模塊 google.golang.org/protobuf取代。 當我到達那里時,還沒有任何安裝說明,只是指向更多頁面的更一般的東西。 所以我嘗試了步驟(2)

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

並得到

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 ...

我在瀏覽器上打開了 9 個選項卡,指向各種 Golang 協議緩沖區頁面,但我仍然沒有成功。 我已經下載了 protoc 並讓它在 Java 和 Python 上正常工作,但是安裝 Go 到目前為止讓我很滿意。 是否有一個頁面以簡單的方式告訴我該怎么做? 曾幾何時,使用 Github 存儲庫很容易,但那是很久以前的事了……謝謝,Jan

跑步

go get -u google.golang.org/protobuf/cmd/protoc-gen-go

首先在 go 安裝之前似乎已經解決了它。

確保你有一個go.mod

go mod init github.com/org/repo

正如@jeremyko 的評論中所指出的,您將需要 Go 1.16 或更高版本。 我個人從 APT 存儲庫中安裝了 Go,該存儲庫通常包含過時的軟件包。 它安裝了 1.13,所以我在安裝 OpenSnitch 時遇到了問題。

您可以從這里下載最新版本。

  1. 下載所需操作系統的protoc二進制文件: github.com => protobuf => 發布
  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

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

注意: Go自動安裝 protoc protoc-gen-go二進制到$GOBIN ,如果$GOBIN沒有設置,它等於$GOPATH/bin

您是否嘗試過使用以下命令安裝二進制文件:

go install github.com/golang/protobuf/protoc-gen-go

如果您正在尋找特定版本,請嘗試:

go install github.com/golang/protobuf/protoc-gen-go@v1.3

注意:確保在運行上述命令之前設置 GOBIN

謝謝

看到這個。 https://developers.google.com/protocol-buffers/docs/reference/go-generated

您需要 go 版本 1.16 或更高版本。 檢查一下。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM