今天准备写个grpc接口,然后看了文档准备开始写proto文件,写完之后打算生成对应的pb.go文件。
然后就报了这么一个错误:
github.com/gogo/protobuf/gogoproto/gogo.proto: File not found.
看字面意思很简单,就是文件没找到。
然而,我的pkg中明明是有这个文件的,带不带版本号是不影响的。
然后进过一系列的摸索和请教终于找到了解决办法!
关掉你的module自动同步:
go env -w GO111MODULE=off
但是关闭的过程却不是那么的顺利,我的goland终端中查看GO111MODULE=on。重新打开IDE也还是on的,
而在我的iterm2中查看GO111MODULE=off。
当我想go env -w重新置为off的时候又有报错提示我:
warning: go env -w GO111MODULE=... does not override conflicting OS environment variable
emm....然后打开我的系统变量明明也是off的!
怎么会这样!
(到现在我也不知道为什么,哪位大佬知道麻烦告诉我一下)
然后用
unset GO111MODULE
再查看go env,嗯终于正常
然后再执行生成pb.go的命令也终于正常了。
如果还没生效而你真的缺少这个文件,你可以用以下命令引入:
go get github.com/gogo/protobuf/...