proto文件生成命令

353 阅读1分钟

命令: protoc --proto_path=<proto_path> --micro_out=<output_dir> --go_out=<output_dir> <your_proto_file>.proto

其中,需要替换以下参数:

  • <proto_path>:指定存放 .proto 文件的目录路径。
  • <output_dir>:指定生成代码的输出目录路径。
  • <your_proto_file>.proto:具体的 .proto 文件名。

事例: protoc --proto_path=./proto --micro_out=./proto --go_out=./proto user.proto

常见问题:

2023-10-17更新,试了一下,这他妈是错的。

1.protoc 默认生成的代码导入的是github.com/golang/protobuf/proto,我想把他设置成google.golang.org/protobuf/proto

要将 protoc 命令生成的代码中的导入路径从 github.com/golang/protobuf/proto 修改为 google.golang.org/protobuf/proto,可以使用 protoc 命令的 --go_opt 选项。

protoc --proto_path=<proto_path> --micro_out=<output_dir> --go_out=<output_dir> --go_opt=module=google.golang.org/protobuf/proto <your_proto_file>.proto

2.protoc 默认生成的代码导入的是github.com/micro/go-micro/server,我想把他设置成go-micro.dev/v4/server

要将 protoc 命令生成的代码中的导入路径从 github.com/micro/go-micro/server 修改为 go-micro.dev/v4/server,可以使用 protoc 命令的 --go_opt 选项。

protoc --proto_path=<proto_path> --micro_out=<output_dir> --go_out=<output_dir> --go_opt=paths=source_relative --go_opt=import_prefix=github.com/micro/go-micro/server=go-micro.dev/v4/server <your_proto_file>.proto