【发布时间】:2017-03-16 01:51:45
【问题描述】:
目前使用 Mac OS X 上 nix 频道提供的 Elixir 版本。该包是用 Erlang 18 构建的:
$ 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
我想更新包以使用 Erlang 19。在 nix 中使用更新的依赖项重建包最直接的方法是什么?
【问题讨论】:
-
再次卸载并安装erlang。恐怕现在没有捷径可走。 Erlang 不是混合依赖,而是你构建的一层。
-
确实,你必须更新 Erlang,如果你使用的是 brew,
brew update && brew upgrade erlang && brew cleanup erlang -
我相信这个问题是关于 nix package manager 的。与混合无关。
-
正确。我想找出使用 nix 执行此操作的最佳方法。
-
通常你可以通过像
elixir.override { erlang = erlangR19; }这样覆盖包来实现这一点(参见the doc)。但是,这里它无法构建,因为需要更新一些其他依赖项。