**
‘protoc-gen-go’ 不是内部或外部命令,也不是可运行的程序 或批处理文件。 --go_out: protoc-gen-go: Plugin failed with status code 1.
**
1.win10系统,在进行从 .proto 的服务定义中生成 gRPC 客户端和服务器端的接口时候,出现下故障:
C:\project\drilljumbo-control\src\api>protoc.exe --go_out=plugins=grpc:. api.proto
'protoc-gen-go' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
--go_out: protoc-gen-go: Plugin failed with status code 1.
2.解决办法:
在goland终端使用查看环境使用命令“go env”
C:\project\drilljumbo-control\src\api>go env
set GO111MODULE=on
set GOARCH=amd64
set GOBIN=
set GOCACHE=C:\Users\chenq\AppData\Local\go-build
set GOENV=C:\Users\chenq\AppData\Roaming\go\env
set GOEXE=.exe
set GOFLAGS=
set GOHOSTARCH=amd64
set GOHOSTOS=windows
set GOINSECURE=
set GOMODCACHE=D:\GOproject\pkg\mod
set GONOPROXY=*.corp.example.com,github.com/org_private
set GONOSUMDB=*.corp.example.com,github.com/org_private
set GOOS=windows
set GOPATH=D:\GOproject
set GOPRIVATE=*.corp.example.com,github.com/org_private
set GOPROXY=https://goproxy.io
set GOROOT=C:\Program Files\Go
set GOSUMDB=sum.golang.org
set GOTMPDIR=
set GOTOOLDIR=C:\Program Files\Go\pkg\tool\windows_amd64
set GOVCS=
set GOVERSION=go1.16.4
set GCCGO=gccgo
set AR=ar
set CC=gcc
set CXX=g++
set CGO_ENABLED=1
set GOMOD=C:\project\drilljumbo-control\src\go.mod
set CGO_CFLAGS=-g -O2
set CGO_CPPFLAGS=
set CGO_CXXFLAGS=-g -O2
set CGO_FFLAGS=-g -O2
set CGO_LDFLAGS=-g -O2
3.找到 GOPATH=D:\GOproject\bin目录下的protoc-gen-go.exe复制,粘贴到GOROOT=C:\Program Files\Go\bin目录下
粘贴后如下:
4.再运行编译接口就行了,成功解决
protoc.exe --go_out=plugins=grpc:. api.proto
希望对有帮助,go语言努力搬砖中