protobuf

找文档碰到一些坑,记录一下

2109111151
谷歌一搜进入官网
Protocol Buffers | Google Developers 想要编译xxx.protoc文件,安装了Protoc还不行 还要装个插件才能用 本页面:go的protobuf doc https://developers.google.com/protocol-buffers/docs/gotutorial

里面写了,命令为:

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

不知道go install原理,运行不了,然后改成了go get……再go install成了……(也不知道是go get就已经成了还是再加上了go install后才成的)

1
protoc -I=$SRC_DIR --go_out=$DST_DIR $SRC_DIR/addressbook.proto

出了个问题,问题的解决:

protoc-gen-go: program not found or is not executable

解决方案:此答案给了 我灵感 https://stackoverflow.com/questions/57700860/protoc-gen-go-program-not-found-or-is-not-executable

里面说到了$home/go/bin 这个目录要放到环境变量里面。看了眼此目录内容,里面已经Install好了protoc-gen-go,想了下此目录确实没有加到环境变量里。确定了——问题就出在这。

于是

1
2
3
4
5
6
vim ~/.bashrc
# 追加到文件末尾
export GOPATH=$HOME/go
export PATH=PATH:$GOPATH/bin #TODO始终不是很明白这个冒号的意思

source ~/.bashrc