📅  最后修改于: 2023-12-03 14:45:40.579000             🧑  作者: Mango
protoc-gen-go: program not found or is not executable
当使用 protoc
工具编译 Protobuf 文件时,你可能会遇到如上的错误提示。这是因为在编译 Protobuf 文件时,需要使用 protoc
工具自带的插件 protoc-gen-go
进行生成 Go 代码,但是 protoc
工具无法找到该插件或者该插件不可执行。
protoc-gen-go
在终端输入 protoc-gen-go
命令,若提示 command not found
,则说明没有安装该插件。可以使用以下命令进行安装:
go get -u github.com/golang/protobuf/protoc-gen-go
确认 $GOPATH/bin
是否在 $PATH
环境变量中
需要将 $GOPATH/bin
路径加入 $PATH
环境变量中,以便 protoc
工具能够找到 protoc-gen-go
插件。
export PATH=$PATH:$GOPATH/bin
确认 $GOPATH
路径设置正确
$GOPATH
保存了 Go 项目的源码和二进制文件的路径。需要确认该路径是否设置正确,并且 protoc-gen-go
插件是否在正确的路径下。
确认 protoc-gen-go
可执行权限
使用以下命令确认权限:
ls -l $GOPATH/bin/protoc-gen-go
如果没有可执行权限,使用以下命令添加可执行权限:
chmod +x $GOPATH/bin/protoc-gen-go
以上是几种常见的解决方案,若还是无法解决问题,可以查看具体的错误输出信息并进行更进一步的排查和分析。