Maison > Article > développement back-end > Je souhaite générer du protobuf à partir du fichier proto de cmd sans utiliser "l'option go_package"
Éditeur PHP Strawberry, vous avez mentionné que vous souhaitiez générer du protobuf à partir du fichier proto cmd sans utiliser "l'option go_package". Dans ce cas, vous pouvez essayer d'utiliser d'autres méthodes pour générer des fichiers protobuf. Il existe des outils qui peuvent vous aider à y parvenir, comme l'utilisation de plugins ou de scripts personnalisés pour générer automatiquement des fichiers protobuf. De cette façon, vous pouvez générer les fichiers protobuf requis par d'autres moyens sans compter sur l'option "go_package". De cette façon, vous pouvez être plus flexible avec vos besoins.
Je dois générer un fichier protobuf à partir d'un fichier proto qui importe un autre fichier proto. Une autre exigence est qu'il doit être généré par cmd (en ne définissant pas "l'option go_package" dans le fichier proto).
Supposons que vous ayez 3 fichiers foo.proto, poo.proto et zoo.proto. Le fichier foo.proto importe les structures de messages de poo.proto et zoo.proto. Vous devez écrire les commandes dans un ordre spécifique, en mettant d'abord foo.proto (importer depuis un autre) , puis poo.proto (importer depuis un autre) et zoo .proto (importer depuis un autre) après.
C'est la commande pour générer protobuf sans définir l'option go_package
protoc --proto_path=./ --go_out=./pb --go-grpc_out=./pb --go_opt=mfoo.proto=./ --go-grpc_opt=mfoo.proto=./ --go_opt=mpoo.proto=./ --go-grpc_opt=mpoo.proto=./ --go_opt=mzoo.proto=./ --go-grpc_opt=mzoo.proto=./ foo.proto goo.proto zoo.proto
Veuillez noter le m avant le nom du fichier, il remplacera l'option go_package
dans le codefoo.proto
syntax = "proto3"; import "goo.proto"; import "zoo.proto"; service foo { rpc foorpc(poomessage) returns (zoomessage) {} }
poo.proto
syntax = "proto3"; message poomessage { string body = 1; }
zoo.proto
syntax = "proto3"; message ZooMessage { string body = 1; }
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!