在接近满的设备上运行冗长的Bazel构建,我遇到此错误:
错误:写入操作日志时出现I / O错误:设备上没有剩余空间
但是,我无法完全释放设备上的一些空间,因此必须以某种方式操纵缓存和/或临时存储。我注意到Bazel的缓存~/.cache/bazel/myproject/
可能会很大,所以我想知道我可以:
Bazel的《用户手册》似乎指示该方法--[no]use_action_cache
可以执行该第三种选择(尽管我不知道该方法的效率如何),但它会使速度变慢。
至于临时存储,我的位置确实有足够的空间,所以我简单地叫export TMPDIR=/path/to/morespace/
。因此,如果我可以移动高速缓存,那就可以了。
您可以使用启动选项--output_base
来指向具有更多可用存储空间的位置。这将告诉Bazel在哪里写所有输出。
$ bazel --output_base=/path/to/more/space build ...
为了避免为每个命令指定此命令,请将其添加到您的项目<project>/.bazelrc
或用户中~/.bazelrc
:
startup --output_base=/path/to/more/space
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句