我正在一个小型文件系统(~8 GB)中使用/tmp
在云虚拟机中构建large Bazel project。有时我的构建失败并显示错误Not all outputs were created
:包含/tmp
的文件系统容量为99%,而/tmp
包含许多Bazel构建工件。
如何覆盖Bazel使用的临时目录?我在启动TEMP
时尝试设置TMPDIR
和bazel build
环境变量,但这没有帮助。
答案 0 :(得分:1)
您可以设置--output_base
将所有输出放在非默认目录中:
bazel --output_base=/dir/with/more/free/space build //foo
但是,我不认为Bazel在您安装它之后会使用/tmp
(默认情况下)(安装程序确实使用了/ tmp),所以也许您正在尝试使用/ {tmp}不同的问题。
答案 1 :(得分:0)
您还可以参考Bazel的手册,其中描述了output directory layout
答案 2 :(得分:0)
如果您使用 configure_make 中的 rules_foreign_cc 规则,很遗憾您无法影响构建的 deps 的存储位置。
见https://github.com/bazelbuild/rules_foreign_cc/blob/master/cc_configure_make/def.bzl#L44
#Using Linux cmd
cd pathOfMyDb
nano backupDbRub.sh # backupDBRun is the name of the file that will be called periodically
答案 3 :(得分:0)
我认为您需要 bazel
命令的 --test_tmpdir=<a_path> 命令行参数。
--test_tmpdir=<a path> default: see description
Specifies the base temporary directory for 'bazel test' to use.