我正在编译一个用 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/binProtobuf 是使用 README 构建的。~/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如答案中所述,我在源代码中执行了以下操作。源代码是开源的,这里是链接- gp "google/protobuf"+ gp "github.com/google/protobuf"当我这样做时go get,以下是错误> 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贡献1859条经验 获得超6个赞
首先,您的导入是错误的,您尝试导入的是 C++ 包,而不是 golang 包。它必须是:
import ("github.com/golang/protobuf/proto")
如果你还没有安装这个包,你需要从命令行运行:
go get github.com/golang/protobuf/proto
慕桂英3389331
TA贡献2036条经验 获得超8个赞
我认为,在 *.pb.go 文件的末尾,你也没有像“gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00 ....”这样的东西。
问题是我们使用错误的编译器进行生成。
所以:
1)我从以下位置重新安装protobuf:https : //github.com/google/protobuf/releases
2)然后(我正在使用 ubuntu,它也有一个 proto 编译器): apt remove protobuf-compiler
重建 *.proto 文件。它修复了错误。
- 2 回答
- 0 关注
- 402 浏览
添加回答
举报
0/150
提交
取消