nix如何知道机器需要什么二进制文件?

时间:2015-06-19 18:32:24

标签: nix

他们在nix文档中写道:

但是,Nix可以自动从源代码跳过构建,而是使用二进制缓存,即提供预构建二进制文件的Web服务器。例如,当被要求从源构建/nix/store/b6gvzjyb2pg0...-firefox-33.1时,Nix将首先检查文件https://cache.nixos.org/b6gvzjyb2pg0 ... .narinfo是否存在,如果存在,则获取从以下引用的预构建二进制文件那里;否则,它将从源头回归建设。

我想知道nix如何知道我的机器需要什么样的二进制文件?如果我在手臂或英特尔或amd上运行nix或者你命名它。如何为正确的架构选择此缓存中的二进制文件?

1 个答案:

答案 0 :(得分:5)

nix是一个纯粹的功能包管理器。因此,它将包所需的所有内容作为函数的输入,包括所谓的stdEnv,其中包含有关体系结构的信息。

使用这些输入,nix会生成一个哈希值。这是您在包名称前面看到的内容。

因此所需的体系结构在该哈希中进行编码,这就是为什么从二进制缓存下载时只需要检查哈希值。

相关问题