php小編西瓜在使用cosmos-sdk/proto/bank/v1beta1/query.proto 文件編譯時遇到了錯誤。這個文件是cosmos-sdk中的一部分,用于查詢銀行相關的信息。錯誤的出現可能是因為文件本身存在問題或者編譯器的配置有誤。解決這個問題需要仔細檢查文件內容和編譯器的設置,確保它們符合要求。同時,可以尋求社區或開發者的幫助,以便更快地解決這個編譯錯誤。
問題內容
安裝協議并保存 cosmos-sdk/proto/bank/v1beta1/query.proto 文件后,此文件顯示很多錯誤,為了確認錯誤,我運行了此命令 protoc –go_out=。查詢.proto
這是問題詳細信息:
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.
登錄后復制
我已經安裝了協議版本 3.21.12,每個導入的路徑文件都放置在正確的位置,但仍然出現錯誤。我也嘗試過不同的 cosmos-sdk 版本,但問題對我來說仍然相同。
我的期望是運行命令后(protoc –go_out =.query.proto)
在 cosmos-sdk/proto/bank/v1beta1 路徑中,它應該可以自由運行錯誤
解決方法
我在官方 cosmos sdk github 存儲庫上遇到了與同一問題相關的問題。 cosmos sdk 團隊的兩位核心工程師建議我使用“buf”而不是“protoc”來解決我的錯誤。我聽從了他們的建議并成功解決了問題。
這是鏈接:
https://github.com/cosmos/cosmos-sdk/issues/16897 (closed)
登錄后復制