找不到包“google/protobuf”

我正在编译一个用 go (openblockchain) 编写的开源项目。执行时出现以下错误go build。谁能帮我解决这个问题


编译错误


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

附加信息


我提到的问题在这里的堆栈溢出,但仍然没有运气解决的问题。以下是有关我所拥有的一切的更多信息:


Protoc 版本是最新的。


> protoc --version 

libprotoc 3.0.0

我的环境变量


> echo $GOPATH

/home/vichu/go

> echo $GOBIN

/home/vichu/go/bin

Protobuf 是使用 README 构建的。


~/go/src/github.com/golang/protobuf$ ls

AUTHORS  CONTRIBUTORS  jsonpb  LICENSE  Makefile  Make.protobuf  proto  protoc-gen-go  proto.pb.go  ptypes  README.md

更新


Util.go如答案中所述,我在源代码中执行了以下操作。源代码是开源的,这里是链接


-       gp "google/protobuf"

+       gp "github.com/google/protobuf"

当我这样做时go get,以下是错误


> go get github.com/google/protobuf

can't load package: package github.com/google/protobuf: no buildable Go source files in /home/vichu/go/src/github.com/google/protobuf



浮云间
浏览 403回答 2
2回答

BIG阳

首先,您的导入是错误的,您尝试导入的是 C++ 包,而不是 golang 包。它必须是:import ("github.com/golang/protobuf/proto")如果你还没有安装这个包,你需要从命令行运行:go get github.com/golang/protobuf/proto

慕桂英3389331

我认为,在 *.pb.go 文件的末尾,你也没有像“gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00 ....”这样的东西。问题是我们使用错误的编译器进行生成。所以:1)我从以下位置重新安装protobuf:https : //github.com/google/protobuf/releases2)然后(我正在使用 ubuntu,它也有一个 proto 编译器): apt remove protobuf-compiler重建 *.proto 文件。它修复了错误。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go