Rumah > Artikel > pembangunan bahagian belakang > Saya mahu menjana protobuf daripada fail proto cmd tanpa menggunakan "option go_package"
PHP Editor Strawberry, anda menyebut bahawa anda ingin menjana protobuf daripada fail proto cmd tanpa menggunakan "option go_package". Dalam kes ini, anda boleh cuba menggunakan kaedah lain untuk menjana fail protobuf. Terdapat alatan yang boleh membantu anda mencapai matlamat ini, seperti menggunakan pemalam atau skrip tersuai untuk menjana fail protobuf secara automatik. Dengan cara ini anda boleh menjana fail protobuf yang diperlukan dengan cara lain tanpa bergantung pada pilihan "go_package". Dengan cara ini anda boleh menjadi lebih fleksibel dengan keperluan anda.
Saya perlu menjana fail protobuf daripada fail proto yang mengimport fail proto lain. Keperluan lain ialah ia mesti dijana oleh cmd (dengan tidak mentakrifkan "option go_package" dalam fail proto).
Andaikan anda mempunyai 3 fail foo.proto, poo.proto dan zoo.proto. Fail foo.proto mengimport struktur mesej daripada poo.proto dan zoo.proto. Anda perlu menulis arahan dalam susunan tertentu, meletakkan foo.proto (import dari yang lain) dahulu, kemudian poo.proto (import dari yang lain) dan zoo .proto (import dari yang lain) selepas.
Ini adalah arahan untuk menjana protobuf tanpa menentukan pilihan 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
Sila ambil perhatian m sebelum nama fail, ia akan menggantikan pilihan go_package
dalam kodfoo.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; }
Atas ialah kandungan terperinci Saya mahu menjana protobuf daripada fail proto cmd tanpa menggunakan "option go_package". Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!