2017-03-13 4 views
2

Zur Zeit der Version von Elixir vom nichts Kanal auf Mac OS X. Das Paket mit Erlang 18 versehen mit gebaut wurde:Aktualisierung der Abhängigkeiten in einem Paket nichts

$ iex --version 
Erlang/OTP 18 [erts-7.3.1.2] [source] [64-bit] [smp:8:8] [async-threads:10] [hipe] [kernel-poll:false] 

IEx 1.4.2 

Ich mag das Paket aktualisieren, um Verwenden Sie Erlang 19. Was ist das einfachste Mittel, um ein Paket in nix mit aktualisierten Abhängigkeiten neu aufzubauen?

+0

Deinstallieren und erlang noch einmal installieren. Ich befürchte, dass es momentan keine Abkürzung dafür gibt. Erlang ist keine Mischungsabhängigkeit, aber es ist eine Ebene, auf der du gebaut hast. – PatNowak

+0

In der Tat, müssen Sie aktualisieren die Erlang, wenn Sie mit brauen, 'brauen update & & brew upgrade erlang & & brew cleanup erlang' – jbernardo

+4

Ich glaube, diese Frage wurde über die [Nix-Paket-Manager] (https://nixos.org/nix /). Nichts mit Mischen zu tun. –

Antwort

3

ich in der Lage war, indem Sie das folgende Paket zu einer Lösung kommen außer Kraft zu ~/.nixpkgs/config.nix:

{ 
    packageOverrides = pkgs: rec { 
    elixir = pkgs.elixir.override { 
     erlang = pkgs.erlangR19_odbc_javac; 
    }; 
    rebar = pkgs.rebar.override { 
     erlang = pkgs.erlangR19_odbc_javac; 
    }; 
    }; 
} 

das Elixier Paket Aufschalten nicht ausreicht, um die Build zum Laufen zu bringen, wie das Build-Werkzeug Bewehrungs wurde auch gebaut mit Erlang 18. Sobald die angegeben wurde, lief ich nix-env -i elixir und die Quelle für beiden Pakete heruntergeladen wurde und 19 Erlang mit integrierten

Einem Nachteile: auch mit diesen Änderungen an die config.nix nichts zum Herunterladen des Erlang 18 Pakets bestanden. Dies wurde jedoch nicht im Build verwendet und wurde beim Ausführen von nix-collect-garbage -d entfernt. Weder die Rebar noch die Elixir-Derivate verwiesen auf das Paket, so dass die Ursache ein Rätsel bleibt.

Dank @ zimm-i48 für den Verweis auf die entsprechende Nix-Dokumentation. Auch war nützlich Luca Brunos Reihe von Blog-Postings auf nichts:

http://lethalman.blogspot.it/2014/07/nix-pill-7-working-derivation.html

0

Sie könnten einen Werkzeugversionsmanager dafür in Erwägung ziehen. Zum Beispiel unterstützt asdf Erlang und Elixier über Plugins. Es ermöglicht Ihnen, einfach eine pro-Projekt-Version für beide anzugeben sowie ihre Installation zu verwalten.

Verwandte Themen