Bazel 在代理后面构建

Jea*_*Lin 3 proxy bazel tensorflow

我想按照 tensorflow 示例构建generate_streaming_test_wav以生成测试 wav。我的 bazel 版本是 0.16.1。

问题是当我使用 command 时bazel run tensorflow/examples/speech_commands:generate_streaming_test_wav ,出现以下错误消息:

xxx@xxx:~/kws/tensorflow-0911$ bazel run tensorflow/examples/speech_commands:generate_streaming_test_wav
Starting local Bazel server and connecting to it...
ERROR: error loading package '': Encountered error while reading extension file 'closure/defs.bzl': no such package '@io_bazel_rules_closure//closure': Error downloading [https://mirror.bazel.build/github.com/bazelbuild/rules_closure/archive/dbb96841cc0a5fb2664c37822803b06dab20c7d1.tar.gz, https://github.com/bazelbuild/rules_closure/archive/dbb96841cc0a5fb2664c37822803b06dab20c7d1.tar.gz] to /home/janet/.cache/bazel/_bazel_janet/2d14dc1ff5782da202e00efcc3cd86bc/external/io_bazel_rules_closure/dbb96841cc0a5fb2664c37822803b06dab20c7d1.tar.gz: All mirrors are down: []
ERROR: error loading package '': Encountered error while reading extension file 'closure/defs.bzl': no such package '@io_bazel_rules_closure//closure': Error downloading [https://mirror.bazel.build/github.com/bazelbuild/rules_closure/archive/dbb96841cc0a5fb2664c37822803b06dab20c7d1.tar.gz, https://github.com/bazelbuild/rules_closure/archive/dbb96841cc0a5fb2664c37822803b06dab20c7d1.tar.gz] to /home/janet/.cache/bazel/_bazel_janet/2d14dc1ff5782da202e00efcc3cd86bc/external/io_bazel_rules_closure/dbb96841cc0a5fb2664c37822803b06dab20c7d1.tar.gz: All mirrors are down: []
INFO: Elapsed time: 57.573s
INFO: 0 processes.
FAILED: Build did NOT complete successfully (0 packages loaded)
FAILED: Build did NOT complete successfully (0 packages loaded)
Run Code Online (Sandbox Code Playgroud)

但是,我可以使用wget下载这两个包。1. https://mirror.bazel.build/github.com/bazelbuild/rules_closure/archive/dbb96841cc0a5fb2664c37822803b06dab20c7d1.tar.gz2.https://github.com/bazelbuild/rules_closure/archive/dbb96841cc0a5fb2664c37822803b06dab20c7d1.tar.gz 我觉得我的网络应该没问题。我不知道为什么它不能下载这些文件。

任何想法或建议将不胜感激!

Wil*_*ons 6

如果您知道您的代理服务器,您应该能够设置:

export HTTPS_PROXY=http://me:mypassword@myproxyserver.domain.com:myport
export HTTP_PROXY=http://me:mypassword@myproxyserver.domain.com:myport
Run Code Online (Sandbox Code Playgroud)

并再次运行 bazel 构建。

如果您不知道 wget 使用的代理服务器,请检查 /etc/wgetrc 或 ~/.wgetrc

我见过关于 HTTPS_PROXY 和 HTTP_PROXY 的大写和小写的冲突声明,因此您可以尝试同时设置两者。(有些人使用 unset 来删除小写设置。参见: https: //github.com/bazelbuild/bazel/issues/587#issuecomment-412531604


Alo*_*sad 5

创建一个文件夹说'dist'。

现在无论 URL bazel 无法下载。在该文件夹中执行 wget 。( wget 通常适用于大多数代理)

然后运行

'bazel build ...... --distdir  dist'
Run Code Online (Sandbox Code Playgroud)

它将从 dist 中获取包并开始编译。


Lás*_*zló 1

这可能是 Bazel 存储库规则中的一个错误。如果您愿意提交错误,那就太好了!

作为解决方法,请将下载的存档提取到某处,并将文件io_bazel_rules_closure中的规则替换为指向提取存档的目录的规则。WORKSPACElocal_repository