堆栈构建没有在nix存储中存储输出?

问题描述 投票:0回答:1

我已经多次在一个项目上运行stack build - 每次它似乎将结果保存在/nix/store中,随着时间的推移需要大量存储。

有没有办法我不能把结果保存到商店?

haskell-stack nix
1个回答
1
投票

不,你不能“不把结果保存到商店”。 (您可以指定不同的商店,但这会使您的问题变得更糟 - 您将在此商店中存储您的依赖关系链的额外副本,而且,您将无法为部分依赖项下载预构建的二进制文件由Nix的自动上游构建系统Hydra构建的链。

你应该做的是垃圾收集你的商店,这将删除不再使用的项目(通过活动“gc root”的可达性来衡量 - 例如构建过程创建的result链接,积极的程序运行,或用nix-env安装在用户配置文件中的软件集。

这可以很简单:

nix-store --gc

...或者,如果您想要移除特定物品占用空间:

# delete all instances of whatever, if-and-only-if they aren't reachable from a gc root
nix-store --delete /nix/store/*-whatever
© www.soinside.com 2019 - 2024. All rights reserved.