我正在編譯一個(gè)用 go (openblockchain) 編寫的開源項(xiàng)目。執(zhí)行時(shí)出現(xiàn)以下錯(cuò)誤go build。誰能幫我解決這個(gè)問題編譯錯(cuò)誤> go build../go/src/github.com/openblockchain/obc-peer/openchain/util/utils.go:28:2: cannot find package "google/protobuf" in any of: /usr/src/pkg/google/protobuf (from $GOROOT) /home/vichu/go/src/google/protobuf (from $GOPATH)附加信息我提到的問題在這里的堆棧溢出,但仍然沒有運(yùn)氣解決的問題。以下是有關(guān)我所擁有的一切的更多信息:Protoc 版本是最新的。> protoc --version libprotoc 3.0.0我的環(huán)境變量> echo $GOPATH/home/vichu/go> echo $GOBIN/home/vichu/go/binProtobuf 是使用 README 構(gòu)建的。~/go/src/github.com/golang/protobuf$ lsAUTHORS CONTRIBUTORS jsonpb LICENSE Makefile Make.protobuf proto protoc-gen-go proto.pb.go ptypes README.md更新Util.go如答案中所述,我在源代碼中執(zhí)行了以下操作。源代碼是開源的,這里是鏈接- gp "google/protobuf"+ gp "github.com/google/protobuf"當(dāng)我這樣做時(shí)go get,以下是錯(cuò)誤> go get github.com/google/protobufcan't load package: package github.com/google/protobuf: no buildable Go source files in /home/vichu/go/src/github.com/google/protobuf
2 回答

BIG陽
TA貢獻(xiàn)1859條經(jīng)驗(yàn) 獲得超6個(gè)贊
首先,您的導(dǎo)入是錯(cuò)誤的,您嘗試導(dǎo)入的是 C++ 包,而不是 golang 包。它必須是:
import ("github.com/golang/protobuf/proto")
如果你還沒有安裝這個(gè)包,你需要從命令行運(yùn)行:
go get github.com/golang/protobuf/proto

慕桂英3389331
TA貢獻(xiàn)2036條經(jīng)驗(yàn) 獲得超8個(gè)贊
我認(rèn)為,在 *.pb.go 文件的末尾,你也沒有像“gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00 ....”這樣的東西。
問題是我們使用錯(cuò)誤的編譯器進(jìn)行生成。
所以:
1)我從以下位置重新安裝protobuf:https : //github.com/google/protobuf/releases
2)然后(我正在使用 ubuntu,它也有一個(gè) proto 編譯器): apt remove protobuf-compiler
重建 *.proto 文件。它修復(fù)了錯(cuò)誤。
- 2 回答
- 0 關(guān)注
- 455 瀏覽
添加回答
舉報(bào)
0/150
提交
取消