protoc-gen-gogofaster: program not found or is not executable MacBookPro 搭建golang和protobuf开发环境

        为了编译公司的ios端的一个sdk,需要在我的mac上下载公司的go项目源码和搭建相关开发环境。但是在初期就遇到了一些问题。这里记录一下。

         我安装golang是使用命令行安装,命令网上搜的,运行go env也没有问题,go get等命令也能正常执行。公司源码项目的编译是执行make 命令,因为目录下有对应的makefile文件。但是编译后报错,内容如下:

cd proto; protoc --gogofaster_out=. *.proto -I . -I /Users/biaohu/go/pkg/mod/github.com/gogo/[email protected]/protobuf -I /Users/biaohu/go/pkg/mod/github.com/gogo/[email protected]

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

Please specify a program using absolute path or make sure the program is available in your PATH system variable

--gogofaster_out: protoc-gen-gogofaster: Plugin failed with status code 1.

make: *** [proto/common.pb.go] Error 1

       看意思是    缺少protoc一些项目什么的,在百度和谷歌搜索了很久,并没有找到符合的问题。在同事帮助下折腾了很久,明明安装了protoc的一系列工具,包括这个googfasteer,而且在相应目录下也找到了工程,但是最后还是报这个错误。我甚至还卸载了go,删除了关于go的所有目录,并按照官网教程重新安装,但是最后还是报这个错误。

       最后解决了问题,在profile文件中配置了golang和protoc的环境变量,之前并没有完整的在profile文件中设置golang的环境变量,因为看到go env和go get命令是正常的,所以没有在乎。而protoc的一些环境变量是依赖于golang的路径和环境变量的,所以最好要在profile文件里正确的配置gpolang和protoc的环境变量。

我是在Users/biaohu/.bash_profile文件里设置的,这个跟每个人各自的电脑环境有关系,添加内容如下:

# Golang 环境变量

#export GOROOT=/usr/local/go

#export GOPATH=/Users/biaohu/go

#export GOBIN=$GOROOT/bin

#export PATH=$PATH:$GOBIN

# Protoc环境变量

export PROTOBUF=/usr/local/protobuf

export PATH=$PROTOBUF/bin:$PATH

export PATH=$PATH:$GOPATH/bin

       source之后,关闭终端再打开,重新在项目里make,没有之前的问题了,屏蔽glolang环境变量,重新打开终端,make clean,就出现了之前的问题。至此,问题解决。

你可能感兴趣的:(protoc-gen-gogofaster: program not found or is not executable MacBookPro 搭建golang和protobuf开发环境)