📌  相关文章
📜  protoc-gen-go:程序未找到或不可执行 (1)

📅  最后修改于: 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 工具无法找到该插件或者该插件不可执行。

解决方案
  1. 确认是否安装了 protoc-gen-go

在终端输入 protoc-gen-go 命令,若提示 command not found,则说明没有安装该插件。可以使用以下命令进行安装:

go get -u github.com/golang/protobuf/protoc-gen-go
  1. 确认 $GOPATH/bin 是否在 $PATH 环境变量中

    需要将 $GOPATH/bin 路径加入 $PATH 环境变量中,以便 protoc 工具能够找到 protoc-gen-go 插件。

    export PATH=$PATH:$GOPATH/bin
    
  2. 确认 $GOPATH 路径设置正确

    $GOPATH 保存了 Go 项目的源码和二进制文件的路径。需要确认该路径是否设置正确,并且 protoc-gen-go 插件是否在正确的路径下。

  3. 确认 protoc-gen-go 可执行权限

    使用以下命令确认权限:

    ls -l $GOPATH/bin/protoc-gen-go
    

    如果没有可执行权限,使用以下命令添加可执行权限:

    chmod +x $GOPATH/bin/protoc-gen-go
    

以上是几种常见的解决方案,若还是无法解决问题,可以查看具体的错误输出信息并进行更进一步的排查和分析。