Maison  >  Article  >  développement back-end  >  erreur de compilation du fichier cosmos-sdk/proto/bank/v1beta1/query.proto

erreur de compilation du fichier cosmos-sdk/proto/bank/v1beta1/query.proto

王林
王林avant
2024-02-09 10:00:201087parcourir

cosmos-sdk/proto/bank/v1beta1/query.proto 文件编译时错误

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.

Contenu de la question

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

Solution de contournement

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer