命令:
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