如何避免Bazel构建上的“无剩余空间”?

在接近满的设备上运行冗长的Bazel构建,我遇到此错误:

错误:写入操作日志时出现I / O错误:设备上没有剩余空间

但是,我无法完全释放设备上的一些空间,因此必须以某种方式操纵缓存和/或临时存储。我注意到Bazel的缓存~/.cache/bazel/myproject/可能会很大,所以我想知道我可以:

  • 收到错误消息后,删除其中的一些文件?
  • 将该缓存移到其他地方?
  • 完全禁用缓存?

Bazel的《用户手册》似乎指示该方法--[no]use_action_cache可以执行该第三种选择(尽管我不知道该方法的效率如何),但它会使速度变慢。

至于临时存储,我的位置确实有足够的空间,所以我简单地叫export TMPDIR=/path/to/morespace/因此,如果我可以移动高速缓存,那就可以了。

Jin

您可以使用启动选项--output_base来指向具有更多可用存储空间的位置。这将告诉Bazel在哪里写所有输出。

$ bazel --output_base=/path/to/more/space build ...

为了避免为每个命令指定此命令,请将其添加到您的项目<project>/.bazelrc或用户中~/.bazelrc

startup --output_base=/path/to/more/space

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章