防止 nix build 查询 cache.nixos.org

Prevent nix build from querying cache.nixos.org

尝试构建推导时:

with import <nixpkgs> {};
stdenv.mkDerivation {
    name = "testdrive";
    version = "1.0.0";
    src = ./. ;
    phases = [
        "unpackPhase"  
        "buildPhase" 
        "installPhase"
    ];
    buildPhase = ''
        ${gcc}/bin/g++ a.cc -o a
    '';
    installPhase = ''
        mkdir -p $out/
        cp a $out/
    '';
}

nix 总是在实际构建之前查询 https://cache.nixos.org。由于在第一次构建时检索了依赖项,因此后续查询似乎多余且效率低下。

关于 nix build 命令的文档有点晦涩。该行为似乎与 nix 如何处理 src.

有关

如何禁用查询?

nix build --option substitute false 就可以了。

请注意,nix 命令在编写时仍在开发中。

您可以将 shorthand --no-substitute 用于几乎任何 nix-* 命令。