【发布时间】:2023-02-14 08:10:44
【问题描述】:
我在目录中有一个 .proto protobuf 定义文件,我正在使用 Bazel 从它构建一个 go 库,如下所示(BUILD.bazel 下面使用 gazelle 生成的文件):
load("@rules_proto//proto:defs.bzl", "proto_library")
load("@io_bazel_rules_go//go:def.bzl", "go_library")
load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")
proto_library(
name = "events_proto",
srcs = ["events.proto"],
visibility = ["//visibility:public"],
deps = ["@com_google_protobuf//:timestamp_proto"],
)
go_proto_library(
name = "proto_go_proto",
importpath = "github.com/acme/icoyote/proto",
proto = ":events_proto",
visibility = ["//visibility:public"],
)
go_library(
name = "proto",
embed = [":proto_go_proto"],
importpath = "github.com/acme/icoyote/proto",
visibility = ["//visibility:public"],
)
其他一些代码依赖于//icoyote/proto:proto,当我在我的模块中运行go mod tidy时,它抱怨找不到包github.com/acme/icoyote/proto:
go: finding module for package github.com/etsy/tinkerer/proto
github.com/acme/icoyote/cmd/icoyote imports
github.com/acme/icoyote/proto: no matching versions for query "latest"
任何没有 Bazel 集成的 IDE(例如没有 Bazel 插件的 VSCode、GoLand/IntelliJ)也会抱怨
我该怎么办?
【问题讨论】: