在 Nix 中获取闭合尺寸

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

如何在 Nix 本身中获得推导闭包大小。您已经可以使用

nix path-info
(对于 https://github.com/srid/emanote - 请参阅下面的示例)来执行此操作,但我想从 Nix 表达式中获取此值。这可行吗?如果是的话,怎么办?

❯ nix path-info --json -S .#default | jq 'map(select(.closureSize > 0.4e9)) | sort_by(.closureSize) | map([.path, .closureSize])'
[
  [
    "/nix/store/l3fl1fzxw6nfkbdmcf9ghjnnkl4l7vml-emanote-1.0.1.6",
    546010216
  ]
]
nix
1个回答
0
投票

不幸的是,如果不构建推导,这在本地是不可能从 Nix 表达式实现的。

在 Nix 表达式中,人们只知道如何构建事物,而不知道将要构建什么。

您必须列出闭包中的所有派生,获取每个项目的大小,方法是在您的商店中构建它(nix path-info 的作用),或者在适用时通过官方 nixpkgs 构建缓存(Hydra)。

© www.soinside.com 2019 - 2024. All rights reserved.