我正在尝试在Golang中为gRPC创建一个tools.go,基本上是使用Gateway创建基于gRPC的REST API。不过,我试图将导入放入 tools.go 文件夹中的
package main
中。这是有问题的代码:
//go:build tools
// +build tools
package tools
import (
_ "github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-grpc-gateway"
_ "github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2"
_ "google.golang.org/grpc/cmd/protoc-gen-go-grpc"
_ "google.golang.org/protobuf/cmd/protoc-gen-go"
)
并且提示错误
import "github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-grpc-gateway" is a program, not an importable package
代码中的空白标识符或
_
也以红色突出显示。
到目前为止我尝试过的事情
go tidy mod
(按照https://github.com/grpc-ecosystem/grpc-gateway中的安装步骤)go generate .\...
以查找这些导入的依赖关系我的一个朋友也做了同样的程序,并且对他们有效。难道这也是一个环境问题?感谢您的帮助。
这可能有点晚了,但是,这里没有什么问题。这只是一个编辑器警告,您可以根据https://github.com/grpc-ecosystem/grpc-gateway/issues/3515忽略它。
您已完全按照文档/github页面中所述进行安装。运行 go mod tidy 和其他特定于您的项目的附加设置后,您会发现您可以使用 protoc/protobuf 生成代码,没有任何问题。