5

我正在使用小型文件系统(~8 GB)的云虚拟机中构建一个大型 Bazel 项目。/tmp有时我的构建失败并出现错误Not all outputs were created:包含的文件系统/tmp容量为 99%,并且/tmp包含许多 Bazel 构建工件。

如何覆盖 Bazel 使用的临时目录?我尝试在启动时设置TEMPTMPDIR环境变量bazel build,但这没有帮助。

4

4 回答 4

2

您可以设置--output_base将所有输出放在非默认目录中:

bazel --output_base=/dir/with/more/free/space build //foo

但是,我认为 Bazel/tmp在您安装后(默认情况下)不会使用(安装程序确实使用 /tmp),所以您可能遇到了不同的问题。

于 2016-03-10T14:49:36.247 回答
0

如果您使用来自rules_foreign_cc的configure_make规则,不幸的是,您无法影响构建的 deps 的存储位置。 见https://github.com/bazelbuild/rules_foreign_cc/blob/master/cc_configure_make/def.bzl#L44

"tmpdir=$(mktemp -d)",
"tmpinstalldir=$(mktemp -d)",
于 2021-03-11T16:12:50.490 回答
0

我认为您需要该命令的--test_tmpdir=<a_path>命令行参数bazel

--test_tmpdir=<a path> default: see description
    Specifies the base temporary directory for 'bazel test' to use.
于 2021-05-02T17:25:22.203 回答
-1

您也可以参考 Bazel 的手册,描述输出目录布局

于 2019-07-08T13:23:51.690 回答