buildEnv 是如何工作的?为什么它是内置的?我该如何使用它?manifest
参数是什么意思? buildEnv 的文档在哪里?
buildEnv 是如何工作的?为什么它是内置的?我该如何使用它?manifest
参数是什么意思? buildEnv 的文档在哪里?
你是想查看实际的buildenv.nix
还是buildEnv
函数?
因为buildenv.nix
是Nix包管理器的内部机制,对于非Nix开发人员不太感兴趣。
如果你对buildEnv
函数感兴趣,它是NixPkgs软件包集合的一部分,该函数在此处实现:
https://github.com/NixOS/nixpkgs/blob/master/pkgs/build-support/buildenv/default.nix
即使代码提供了一些提示,但我没有找到任何真正的文档,但您可以在手册中找到一些示例: https://nixos.org/nixpkgs/manual/#sec-building-environment
如果我理解正确,清单也是Nix的内部机制:它是一个包含给定环境对应的导出列表的Nix文件。例如,您可以在安装了Nix的机器上查看其中一个:/nix/var/nix/profiles/per-user/root/channels/manifest.nix
。
它不太易读,看起来像这样:
[ { meta = { }; name = "nixos-18.09pre143771.a8c71037e04"; out = { outPath = "/nix/store/yqxc408mhbcksnaqndkpdkg8ylcj2xhg-nixos-18.09pre143771.a8c71037e04"; }; outPath = "/nix/store/yqxc408mhbcksnaqndkpdkg8ylcj2xhg-nixos-18.09pre143771.a8c71037e04"; outputs = [ "out" ]; system = "x86_64-linux"; type = "derivation"; } { meta = { }; name = "nixos-1803-18.03.132768.94d80eb7247"; out = { outPath = "/nix/store/ih8bhvgmp47rs3acchkc9ch7f8760rpz-nixos-1803-18.03.132768.94d80eb7247"; }; outPath = "/nix/store/ih8bhvgmp47rs3acchkc9ch7f8760rpz-nixos-1803-18.03.132768.94d80eb7247"; outputs = [ "out" ]; system = "x86_64-linux"; type = "derivation"; } ]
builtins.buildenv
和 lib.buildEnv
做的事情一样吗? - srghmanixpkgs/pkgs/build-support/
中的软件包(其中也包括 buildEnv
)。 - toraritte