Bazel:outputRoot 和 --disk_cache 如何与本地缓存相关?

Igo*_*tis 4 bazel

我看到 bazel 在 下放置了很多资产~/.cache/bazel--disk_cache既然这已经是一个缓存了,那么flag有什么用呢?

Ver*_*ahn 6

--disk_cache当您有两个包含一个WORKSPACE文件并构建几乎相同内容的目录时,这是有意义的。如果没有,--disk_cache两个工作区都将拥有自己的缓存工件,~/.cache/bazel并且--disk_cache它们可以共享其工件。

正如皮尔斯顿指出的:

--disk_cache您无需设置远程缓存即可使用。如果你愿意的话,你甚至可以拥有--disk_cache=~/.cache/bazel

  • 如果您希望 Bazel 记住所有以前的构建而不仅仅是最近的构建,那么 `--disk_cache` 也很有用,这在更改分支时很有帮助。 (3认同)
  • 这确实是一个非常重要的区别 - 如果您进行更改并将其更改回来,即使在同一目录中,运行不带 --disk_cache 的 bazel build 将导致重新构建。 (2认同)