【问题标题】:Prevent nix build from querying cache.nixos.org防止 nix 构建查询 cache.nixos.org
【发布时间】:2021-08-13 15:52:08
【问题描述】:

在尝试构建派生时:

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 有关。

如何禁用查询?

【问题讨论】:

  • 您可以在派生中设置 allowSubstitutes = false 以从那一端将其关闭。

标签: nix nixos


【解决方案1】:

nix build --option substitute false 可以解决问题。

请注意,nix 命令在撰写本文时仍在开发中。

【讨论】:

    【解决方案2】:

    您几乎可以使用简写 --no-substitute 来表示任何 nix-* 命令。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-29
      • 2019-01-11
      • 1970-01-01
      • 2019-11-16
      相关资源
      最近更新 更多