內(nèi)部city.proto文件我想使用(導(dǎo)入)protobuf 的.proto文件。在我的 golang 應(yīng)用程序中,我使用 go 模塊。city.proto:syntax = "proto3";package proto;import "google/protobuf/timestamp.proto";option go_package = "./proto";message City { google.protobuf.Timestamp create_at = 1;}當(dāng)我嘗試從city.proto文件生成代碼時,它會引發(fā)這樣的錯誤:google/protobuf/timestamp.proto: File not found.city.proto:3:1: Import "google/protobuf/timestamp.proto" was not found or had errors.city.proto:25:5: "google.protobuf.Timestamp" is not defined.我在我的 gRPC 項目目錄中創(chuàng)建了一個proto文件夾。該city.proto文件位于此文件夾中。我運行這樣的命令:protoc -I proto/ proto/city.proto --go_out=plugins=grpc:proto/city.此命令僅在我不在 proto 文件中使用 import 的情況下有效。去版本:go version go1.12.9 windows/amd64協(xié)議--版本:libprotoc 3.11.4回聲 %GOPATH%:C:\Users\NNogerbek\go在該目錄中,我看到三個具有這種結(jié)構(gòu)的文件夾:bin protoc.exe protoc-gen-go.exepkg mod **packages**src google.com protobuf timestamp.proto我運行這樣的命令:go list -f "{{ .Path }} {{ .Dir }}" -m github.com/golang/protobuf命令結(jié)果:github.com/golang/protobuf C:\Users\NNogerbek\go\pkg\mod\github.com\golang\protobuf@v1.4.0
1 回答

交互式愛情
TA貢獻(xiàn)1712條經(jīng)驗 獲得超3個贊
經(jīng)過多次嘗試,我找到了一種方法,可以使用以下命令將 go 代碼生成到我的 gRPC 服務(wù)器而不會出錯:
protoc -I. -I%GOPATH%/src --gogofaster_out=plugins=grpc:. proto/city.proto
正如您在命令中看到的那樣,我指定了src
protobuf 文件所在文件夾的路徑。
我還使用了gogoprotobuf包gogofaster
的插件。
- 1 回答
- 0 關(guān)注
- 315 瀏覽
添加回答
舉報
0/150
提交
取消