Ich verwende Nix, um Pakete unter meinem Haus (also keine Binärpakete) auf einem gemeinsam genutzten Host mit begrenzten Ressourcen zu installieren. Ich versuche, git-annex zu installieren. Beim Erstellen einer seiner Abhängigkeiten, der Haskell-Linse, verbrauchen die Komponententests so viel Speicher, dass sie getötet werden und die Installation fehlschlägt.
Gibt es eine Möglichkeit, die Komponententests zu überspringen, um das Paket zu installieren? Ich habe haskell-packages.nix
mir den Cabal Builder angesehen und es scheint mir, dass Sie die Tests deaktivieren können, indem Sie enableCheckPhase
auf false setzen. Ich habe Folgendes versucht ~/.nixpkgs/config.nix
, aber die Tests werden noch ausgeführt:
{
packageOverrides = pkgs: with pkgs; {
# ...other customizations...
haskellPackages = haskellPackages.override {
extension = self : super : {
self.lens = self.disableTest self.lens;
};
};
};
}
quelle
nix-build --disable-check-phase
), ohne den Ableitungs- / Ausgabe-Hash zu ändern?Eine alternative Antwort, die Ihr Anliegen aus einem anderen Blickwinkel anspricht, besteht darin, Ihre Pakete mit Tests auf einem leistungsstärkeren Computer zu erstellen. Kopieren Sie dann bei Bedarf den Abschluss auf den Remote-Host.
Dies funktioniert gut, wenn Sie sich auf derselben Architektur befinden und die betreffende Software nicht eng an Hardware gekoppelt ist, die sich auf den beiden Computern unterscheidet.
Weitere Informationen zum Freigeben von Paketen zwischen Computern finden Sie im nix-Handbuch.
Dies ist eine nette Funktion, die den Ansatz von nix zur Paketverwaltung ermöglicht. Ich habe diese Funktion oft umgekehrt verwendet und leistungsstärkere Remotecomputer verwendet, um reichlich Software für meinen lokalen Computer zu erstellen.
quelle