Golang GRPC 环境 问题
生成文件 执行
protoc --go_out=. --go_opt=paths=source_relative --go-grpc_out=. --go-grpc_opt=paths=source_relative service.proto
报下列错处理方法
1.'protoc-gen-go' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
a.检查gopath目录(%GOPATH%\)的bin文件夹,是否有protoc-gen-go.exe,protoc-gen-go-grpc.exe
protoc-gen-go.exe
protoc-gen-go-grpc.exe
b.如果没有 protoc-gen-go-grpc.exe
执行:go install google.golang.org/grpc/cmd/protoc-gen-go-grpc
c.如果有将刚才找到的2个exe文件,复制到goroot(%GOROOT%\)的bin目录下
2.protoc-gen-go: unable to determine Go import path for "services.proto"
Please specify either:
• a "go_package" option in the .proto source file, or
• a "M" argument on the command line.
See https://protobuf.dev/reference/go/go-generated#package for more information.
在相应的.proto文件中添加
option go_package = "./;pb"
关于VScode proto 3 插件的配置文件
"protoc": { "path": "D:/grpc/bin", "compile_on_save": false, "options": [ "--proto_path=protos/v3", "--proto_path=protos/v2", "--proto_path=${workspaceRoot}/proto", "--proto_path=${env.GOPATH}/src", "--java_out=gen/java" ] }
3. 当引用包路径由GOPATH变成GOROOT 包出错时
原因是引入包应该去GOPATH查找,但是却去GOROOT目录下查找,出现了混淆。
解决方案:
go env -w GO111MODULE=off
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
2022-05-30 .net 5使用代码注册Consul服务