zeromicro / go-zero

A cloud-native Go microservices framework with cli tool for productivity.
https://go-zero.dev
MIT License
29.15k stars 3.94k forks source link

Problems on generating RPC with latest goctl #1547

Closed fuckqqcom closed 2 years ago

fuckqqcom commented 2 years ago
用以前的生成方式没问题
goctl rpc proto -src .\user.proto =G:\project\go\sales-platform\api\rpc\proto\user -dir=G:\project\go\sales-platform\app\user\rpc  -style go_zero
deprecated: use "goctl rpc protoc" instead, for the details see "goctl rpc protoc --help"
protoc  --proto_path=G:\project\go\sales-platform\api\rpc\proto\user user.proto --go_out=plugins=grpc:G:\project\go\sales-platform\app\user\rpc\user_proto --go_opt=Muser.proto=.
Done.
新的生成方式:
 goctl rpc protoc .\user.proto --go_out=./pb --go-grpc_out=./pb --zrpc_out=.
protoc .\user.proto --go_out=./pb --go-grpc_out=./pb
goctl: generation error: 'protoc-gen-go-grpc' �����ڲ����ⲿ���Ҳ���ǿ����еij���
���������ļ���
--go-grpc_out: protoc-gen-go-grpc: Plugin failed with status code 1.
goctl version: 1.3.2 windows/amd64
fuckqqcom commented 2 years ago

@anqiansong


goctl rpc protoc .\user.proto --go_out=G:\project\go\sales-platform\app\user\rpc --go-grpc_out=G:\project\go\sales-platform\app\user\rpc  --zrpc_out=G:\project\go\sales-platform\app\user\rpc    
goctl: generation error: the --go_out and --go-grpc_out must be the same
goctl version: 1.3.2 windows/amd64
jsonMark commented 2 years ago

@anqiansong


goctl rpc protoc .\user.proto --go_out=G:\project\go\sales-platform\app\user\rpc --go-grpc_out=G:\project\go\sales-platform\app\user\rpc  --zrpc_out=G:\project\go\sales-platform\app\user\rpc    
goctl: generation error: the --go_out and --go-grpc_out must be the same
goctl version: 1.3.2 windows/amd64

goctl rpc protoc user.proto --go_out=../user --go-grpc_out=../user --zrpc_out=../user 里面的--go_out参数和--go-grpc_out参数要保持一致噢!

fuckqqcom commented 2 years ago

@anqiansong


goctl rpc protoc .\user.proto --go_out=G:\project\go\sales-platform\app\user\rpc --go-grpc_out=G:\project\go\sales-platform\app\user\rpc  --zrpc_out=G:\project\go\sales-platform\app\user\rpc    
goctl: generation error: the --go_out and --go-grpc_out must be the same
goctl version: 1.3.2 windows/amd64

goctl rpc protoc user.proto --go_out=../user --go-grpc_out=../user --zrpc_out=../user 里面的--go_out参数和--go-grpc_out参数要保持一致噢! goctl rpc protoc .\user.proto --go_out =G:\project\go\sales-platform\app\user\rpc --go-grpc_out =G:\project\go\sales-platform\app\user\rpc
--zrpc_out= G:\project\go\sales-platform\app\user\rpc

这三个参数都是一致的啊,我没写错吧

jsonMark commented 2 years ago

@anqiansong


goctl rpc protoc .\user.proto --go_out=G:\project\go\sales-platform\app\user\rpc --go-grpc_out=G:\project\go\sales-platform\app\user\rpc  --zrpc_out=G:\project\go\sales-platform\app\user\rpc    
goctl: generation error: the --go_out and --go-grpc_out must be the same
goctl version: 1.3.2 windows/amd64

goctl rpc protoc user.proto --go_out=../user --go-grpc_out=../user --zrpc_out=../user 里面的--go_out参数和--go-grpc_out参数要保持一致噢! goctl rpc protoc .\user.proto --go_out =G:\project\go\sales-platform\app\user\rpc --go-grpc_out =G:\project\go\sales-platform\app\user\rpc --zrpc_out= G:\project\go\sales-platform\app\user\rpc

这三个参数都是一致的啊,我没写错吧

你理解最后一个zrpc_out=../user这样参数的含义吗?我在这个目录下面执行这条命令,最终代码都是生成在 E:\Tools\Golang\Code\src\demo\user这个目录下面。 PS E:\Tools\Golang\Code\src\demo\user> goctl rpc protoc user.proto --go_out=../user --go-grpc_out=../user --zrpc_out=../user protoc user.proto --go_out=../user --go-grpc_out=../user Done.

看完这个要是还是不懂的话,就去看我的博客: [文档生效中]一篇博文搞定goctl:V1.3.2新版本解决goctl rpc protoc的问题 https://learnku.com/articles/65090

fuckqqcom commented 2 years ago

@anqiansong


goctl rpc protoc .\user.proto --go_out=G:\project\go\sales-platform\app\user\rpc --go-grpc_out=G:\project\go\sales-platform\app\user\rpc  --zrpc_out=G:\project\go\sales-platform\app\user\rpc    
goctl: generation error: the --go_out and --go-grpc_out must be the same
goctl version: 1.3.2 windows/amd64

goctl rpc protoc user.proto --go_out=../user --go-grpc_out=../user --zrpc_out=../user 里面的--go_out参数和--go-grpc_out参数要保持一致噢! goctl rpc protoc .\user.proto --go_out =G:\project\go\sales-platform\app\user\rpc --go-grpc_out =G:\project\go\sales-platform\app\user\rpc --zrpc_out= G:\project\go\sales-platform\app\user\rpc

这三个参数都是一致的啊,我没写错吧

你理解最后一个zrpc_out=../user这样参数的含义吗?我在这个目录下面执行这条命令,最终代码都是生成在 E:\Tools\Golang\Code\src\demo\user这个目录下面。 PS E:\Tools\Golang\Code\src\demo\user> goctl rpc protoc user.proto --go_out=../user --go-grpc_out=../user --zrpc_out=../user protoc user.proto --go_out=../user --go-grpc_out=../user Done.

看完这个要是还是不懂的话,就去看我的博客: [文档生效中]一篇博文搞定goctl:V1.3.2新版本解决goctl rpc protoc的问题 https://learnku.com/articles/65090 你是没看懂咱两的区别嘛,你是相对路径,我是绝对路径。 你理解最后一个zrpc_out=../user这样参数的含义吗? 为嘛说没理解这个,我这个是rpc最终的代码存放地方,proto文件就在这个rpc目录下