构建时如何让 bazel 使用外部存储?
How can I make bazel use external storage when building?
使用 bazel 构建某些代码时,我 运行 存储空间不足 space。我希望 bazel 将其内容存储在 USB 驱动器上,而不是我的 ~/.cache
文件夹中。我怎样才能告诉 bazel 这样做?
您可以通过更改 $TEST_TMPDIR
变量来更改 outputRoot 目录。
export TEST_TMPDIR=/path/to/directory
The outputRoot directory is ~/.cache/bazel
. (Unless $TEST_TMPDIR is set, as in a test of bazel itself, in which case this directory is used instead.)
使用 --output_user_root
标志。
示例:
bazel --output_user_root=/path/to/directory build //foo:bar
我将 ~/.cache/bazel
符号链接到另一个驱动器上的目录。看起来到目前为止工作。即
ln -s /mnt/otherdrive/bazel_cache ~/.cache/bazel
我想移动旧缓存以避免重建,但我注意到缓存中目录的符号链接并且不想处理传输这些内容,所以它们也指向新目录。所以我只是删除了旧的缓存,符号链接,然后重建。
使用 bazel 构建某些代码时,我 运行 存储空间不足 space。我希望 bazel 将其内容存储在 USB 驱动器上,而不是我的 ~/.cache
文件夹中。我怎样才能告诉 bazel 这样做?
您可以通过更改 $TEST_TMPDIR
变量来更改 outputRoot 目录。
export TEST_TMPDIR=/path/to/directory
The outputRoot directory is
~/.cache/bazel
. (Unless $TEST_TMPDIR is set, as in a test of bazel itself, in which case this directory is used instead.)
使用 --output_user_root
标志。
示例:
bazel --output_user_root=/path/to/directory build //foo:bar
我将 ~/.cache/bazel
符号链接到另一个驱动器上的目录。看起来到目前为止工作。即
ln -s /mnt/otherdrive/bazel_cache ~/.cache/bazel
我想移动旧缓存以避免重建,但我注意到缓存中目录的符号链接并且不想处理传输这些内容,所以它们也指向新目录。所以我只是删除了旧的缓存,符号链接,然后重建。