Heim >Backend-Entwicklung >Golang >Warum schlägt „protoc' mit „protoc-gen-go: Programm nicht gefunden' fehl und wie behebe ich das Problem?

Warum schlägt „protoc' mit „protoc-gen-go: Programm nicht gefunden' fehl und wie behebe ich das Problem?

Susan Sarandon
Susan SarandonOriginal
2024-12-03 10:57:10737Durchsuche

Why Does

Code mit „Protoc“ kann aufgrund des Fehlers „protoc-gen-go: Programm nicht gefunden“ nicht generiert werden

Frage :

Beim Generieren von Code mit tritt der folgende Fehler auf "protoc":

"protoc-gen-go: program not found or is not executable
--go_out: protoc-gen-go: Plugin failed with status code 1."

Trotz der Installation der erforderlichen Bibliotheken, wie google.golang.org/grpc und github.com/golang/protobuf/protoc-gen-go, kann ich dieses Problem nicht lösen.

Lösung:

Für Go-Versionen 1.17 und höher gilt das Die Installation ausführbarer Dateien mit go get ist veraltet. Verwenden Sie stattdessen go install:

1. Umgebungsvariablen aktualisieren:

Bearbeiten Sie ~/.bashrc oder ~/.zshrc und fügen Sie die folgenden Zeilen hinzu:

export GOPATH=$HOME/go
export PATH=$PATH:$GOPATH/bin

2. Installieren Sie die Protobuf- und gRPC-Plugins:

Installieren Sie die Protobuf- und gRPC-Plugins mit den folgenden Befehlen:

go install google.golang.org/protobuf/cmd/protoc-gen-go@latest
go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@latest

3. Code generieren:

Sie sollten jetzt in der Lage sein, Code mit Protokoll wie folgt zu generieren:

protoc --go-grpc_out=. *.proto

Das obige ist der detaillierte Inhalt vonWarum schlägt „protoc' mit „protoc-gen-go: Programm nicht gefunden' fehl und wie behebe ich das Problem?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn