ARTICLE AD BOX
The issue is in my view is straightforward:
Your protoc-gen-go-grpc is v1.6.1 generated code that references grpc.SupportPackageIsVersion9 and grpc.StaticMethod(), but your google.golang.org/grpc dependency in go.mod is an older version that doesn't have these symbols yet, so the incompatibility issue
The protoc compiler itself is indeed neutral here — the incompatibility is between the code generator plugin version and the grpc-go runtime library in your project.
The Fix
You need your google.golang.org/grpc module dependency to be v1.64.0 or later (that's when SupportPackageIsVersion9 and StaticMethod were introduced).
Run this from your project root: go get google.golang.org/grpc@latest go mod tidyThat should resolve both errors without touching the generated code.
Why This Happened
When you ran go install ...@latest, you got the newest generator plugins, which emit code targeting the newest grpc-go runtime. But your project's go.mod still pinned an older google.golang.org/grpc version. There's no single compatibility matrix published, but the general rule is: if you use @latest for the generators, also use @latest (or at least a recent version) for the runtime dependency.
Alternative Approach
If for some reason you need to stay on an older grpc-go runtime, you can install an older generator instead:
bash
go install google.golang.org/grpc/cmd/[email protected]This would generate code compatible with older grpc-go versions (using SupportPackageIsVersion7). However upgrading the runtime is the cleaner path.
