使用 Bazel 构建 Go 无法解析存储库
Building Go with Bazel could not resolve a repository
我按照“使用 Bazel 构建 Go 服务”youtube 中的步骤创建了一个简单的项目,该项目具有无法构建并出现错误的依赖项:
ERROR: /builds/mvfwd/issue-bazel-go/cmd/BUILD.bazel:3:11: no such package '@com_github_pallinder_go_randomdata//': The repository '@com_github_pallinder_go_randomdata' could not be resolved and referenced by '//cmd:cmd_lib'
ERROR: Analysis of target '//cmd:cmd' failed; build aborted: Analysis failed
INFO: Elapsed time: 1.263s
INFO: 0 processes.
FAILED: Build did NOT complete successfully (1 packages loaded, 165 targets configured)
FAILED: Build did NOT complete successfully (1 packages loaded, 165 targets configured)
版本
$ bazel --version
bazel 4.1.0
$ go version
go version go1.17 linux/amd64
文件结构
项目:https://gitlab.com/mvfwd/issue-bazel-go
步骤
go mod init gitlab.com/mvfwd/issue-bazel-go
- 创建
go.mod
go mod tidy
- 创建
go.sum
bazel run //:gazelle
- 创建
cmd/BUILD.bazel
bazel build ...
- 因错误而失败
认为可能是因为"go-randomdata"中的破折号,所以添加了另一个非破折号依赖项(github。com/stretchr/testify/assert),得到了同样的问题。
我做错了什么?我错过了什么吗?
UPD:
解决方案是使用以下组合
$ bazel run //:gazelle
$ bazel run //:gazelle -- update-repos -from_file=go.mod -to_macro=deps.bzl%go_dependencies
$ bazel run //:gazelle
如所述here。 update-repos...
部分将使用所有必要的依赖项更新 WORKSPACE。
解决方案是使用以下组合
$ bazel run //:gazelle
$ bazel run //:gazelle -- update-repos -from_file=go.mod -to_macro=deps.bzl%go_dependencies
$ bazel run //:gazelle
如所述here。
update-repos...
部分将使用所有必要的依赖项更新 WORKSPACE
文件。
我按照“使用 Bazel 构建 Go 服务”youtube 中的步骤创建了一个简单的项目,该项目具有无法构建并出现错误的依赖项:
ERROR: /builds/mvfwd/issue-bazel-go/cmd/BUILD.bazel:3:11: no such package '@com_github_pallinder_go_randomdata//': The repository '@com_github_pallinder_go_randomdata' could not be resolved and referenced by '//cmd:cmd_lib'
ERROR: Analysis of target '//cmd:cmd' failed; build aborted: Analysis failed
INFO: Elapsed time: 1.263s
INFO: 0 processes.
FAILED: Build did NOT complete successfully (1 packages loaded, 165 targets configured)
FAILED: Build did NOT complete successfully (1 packages loaded, 165 targets configured)
版本
$ bazel --version
bazel 4.1.0
$ go version
go version go1.17 linux/amd64
文件结构
项目:https://gitlab.com/mvfwd/issue-bazel-go
步骤
go mod init gitlab.com/mvfwd/issue-bazel-go
- 创建
go.mod
- 创建
go mod tidy
- 创建
go.sum
- 创建
bazel run //:gazelle
- 创建
cmd/BUILD.bazel
- 创建
bazel build ...
- 因错误而失败
认为可能是因为"go-randomdata"中的破折号,所以添加了另一个非破折号依赖项(github。com/stretchr/testify/assert),得到了同样的问题。
我做错了什么?我错过了什么吗?
UPD: 解决方案是使用以下组合
$ bazel run //:gazelle
$ bazel run //:gazelle -- update-repos -from_file=go.mod -to_macro=deps.bzl%go_dependencies
$ bazel run //:gazelle
如所述here。 update-repos...
部分将使用所有必要的依赖项更新 WORKSPACE。
解决方案是使用以下组合
$ bazel run //:gazelle
$ bazel run //:gazelle -- update-repos -from_file=go.mod -to_macro=deps.bzl%go_dependencies
$ bazel run //:gazelle
如所述here。
update-repos...
部分将使用所有必要的依赖项更新 WORKSPACE
文件。