Maison >développement back-end >Golang >Pourquoi « protoc » échoue-t-il avec « protoc-gen-go : programme introuvable » et comment puis-je y remédier ?

Pourquoi « protoc » échoue-t-il avec « protoc-gen-go : programme introuvable » et comment puis-je y remédier ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-03 10:57:10737parcourir

Why Does

Impossible de générer du code avec "Protoc" en raison de l'erreur "protoc-gen-go : programme introuvable"

Question :

Je suis confronté à l'erreur suivante lors de la génération de code avec "protoc":

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

Malgré l'installation des bibliothèques nécessaires, telles que google.golang.org/grpc et github.com/golang/protobuf/protoc-gen-go, je ne parviens pas à résoudre ce problème.

Résolution :

Pour les versions Go 1.17 et supérieures, le l'installation d'exécutables à l'aide de go get est obsolète. Utilisez plutôt go install :

1. Mettre à jour les variables d'environnement :

Modifiez ~/.bashrc ou ~/.zshrc et ajoutez les lignes suivantes :

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

2. Installez les plugins Protobuf et gRPC :

Installez les plugins Protobuf et gRPC à l'aide des commandes suivantes :

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

3. Générer du code :

Vous devriez maintenant pouvoir générer du code en utilisant le protocole suivant :

protoc --go-grpc_out=. *.proto

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn