1

我正在使用 bazel/gazelle 来引入一些外部 git 存储库。例如:

go_repository(
    name = "com_github_pkg_errors",
    importpath = "github.com/pkg/errors",
    sum = "h1:iURUrRGxPUNPdy5/HRSm+Yj6okJ6UtLINN0Q9M4+h3I=",
    version = "v0.8.1",
)

github.com/pkg/errors我的 go 文件会像往常一样导入。当我go vet在我的文件上运行时出现问题。它会抱怨在 GOROOT 或 GOPATH 下不存在这样的包。这个 repo 位于我的 bazel 缓存中。~/.cache/bazel/.../external/com_github_pkg_errors

我该如何解决这个问题?

4

1 回答 1

0
  1. 您必须在go.mod
require (
    github.com/pkg/errors v0.8.1
)
  1. 在项目文件中,BUILD.bazel指定go_librarydep
go_library(
    name = "project_lib",
    srcs = [],
    importpath = "github.com/pkg/errors",
    visibility = ["//visibility:public"],
    deps = [
        "@com_github_pkg_errors",
    ],
)
于 2022-02-17T23:06:17.710 回答