L'éditeur php Xigua a rencontré une erreur lors de la compilation à l'aide du fichier cosmos-sdk/proto/bank/v1beta1/query.proto. Ce fichier fait partie de cosmos-sdk et est utilisé pour interroger des informations relatives à la banque. L'erreur peut se produire car il y a un problème avec le fichier lui-même ou parce que le compilateur est mal configuré. La résolution de ce problème nécessite une inspection minutieuse du contenu du fichier et des paramètres du compilateur pour s'assurer qu'ils répondent aux exigences. Dans le même temps, vous pouvez demander l’aide de la communauté ou des développeurs pour résoudre plus rapidement cette erreur de compilation.
Après avoir installé le protocole et enregistré le fichier cosmos-sdk/proto/bank/v1beta1/query.proto, ce fichier affiche beaucoup d'erreurs, afin de confirmer les erreurs, j'ai exécuté cette commande protoc -- go_out=. requête.proto
Voici les détails du problème :
saiful@saiful-Inspiron-3542:~/Desktop/TestCosmos/cosmos-sdk/proto/cosmos/bank/v1beta1$ protoc --go_out=. query.proto cosmos/base/query/v1beta1/pagination.proto: File not found. gogoproto/gogo.proto: File not found. google/api/annotations.proto: File not found. cosmos/base/v1beta1/coin.proto: File not found. cosmos/bank/v1beta1/bank.proto: File not found. cosmos_proto/cosmos.proto: File not found. cosmos/query/v1/query.proto: File not found. amino/amino.proto: File not found. query.proto:4:1: Import "cosmos/base/query/v1beta1/pagination.proto" was not found or had errors. query.proto:5:1: Import "gogoproto/gogo.proto" was not found or had errors. query.proto:6:1: Import "google/api/annotations.proto" was not found or had errors. query.proto:7:1: Import "cosmos/base/v1beta1/coin.proto" was not found or had errors. query.proto:8:1: Import "cosmos/bank/v1beta1/bank.proto" was not found or had errors. query.proto:9:1: Import "cosmos_proto/cosmos.proto" was not found or had errors. query.proto:10:1: Import "cosmos/query/v1/query.proto" was not found or had errors. query.proto:11:1: Import "amino/amino.proto" was not found or had errors. query.proto:135:3: "cosmos.base.v1beta1.Coin" is not defined. query.proto:147:3: "cosmos.base.query.v1beta1.PageRequest" is not defined. query.proto:159:12: "cosmos.base.v1beta1.Coin" is not defined. query.proto:167:3: "cosmos.base.query.v1beta1.PageResponse" is not defined. query.proto:182:3: "cosmos.base.query.v1beta1.PageRequest" is not defined. query.proto:191:12: "cosmos.base.v1beta1.Coin" is not defined. query.proto:199:3: "cosmos.base.query.v1beta1.PageResponse" is not defined. query.proto:223:3: "cosmos.base.v1beta1.Coin" is not defined. query.proto:235:3: "cosmos.base.query.v1beta1.PageRequest" is not defined. query.proto:242:12: "cosmos.base.v1beta1.Coin" is not defined. query.proto:252:3: "cosmos.base.query.v1beta1.PageResponse" is not defined. query.proto:264:3: "cosmos.base.v1beta1.Coin" is not defined. query.proto:273:3: "Params" is not defined. query.proto:279:3: "cosmos.base.query.v1beta1.PageRequest" is not defined. query.proto:286:12: "Metadata" is not defined. query.proto:289:3: "cosmos.base.query.v1beta1.PageResponse" is not defined. query.proto:302:3: "Metadata" is not defined. query.proto:313:3: "cosmos.base.query.v1beta1.PageRequest" is not defined. query.proto:326:3: "cosmos.base.v1beta1.Coin" is not defined. query.proto:336:3: "cosmos.base.query.v1beta1.PageResponse" is not defined. query.proto:347:3: "cosmos.base.query.v1beta1.PageRequest" is not defined. query.proto:354:12: "SendEnabled" is not defined. query.proto:357:3: "cosmos.base.query.v1beta1.PageResponse" is not defined.
J'ai installé la version 3.21.12 du protocole et chaque fichier de chemin importé est placé au bon emplacement, mais j'obtiens toujours l'erreur. J'ai également essayé différentes versions de cosmos-sdk mais le problème est toujours le même pour moi. Mon attente est après avoir exécuté la commande (protoc --go_out=.query.proto) Dans le chemin cosmos-sdk/proto/bank/v1beta1, il devrait fonctionner librement Erreur
J'ai rencontré un problème lié au même problème sur le référentiel github officiel du cosmos sdk. Deux ingénieurs principaux de l'équipe Cosmos SDK m'ont suggéré d'utiliser "buf" au lieu de "protoc" pour résoudre mon erreur. J'ai suivi leurs conseils et j'ai réussi à résoudre le problème.
Voici le lien :
https://github.com/cosmos/cosmos-sdk/issues/16897 (closed)
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!