[英]function is undefined in elixir (mix test)
我正在尝试在Xubuntu 16.04上安装IElixir Jupyter笔记本内核。 我之前在使用Xubuntu 16.04的另一台机器上成功完成了它。
我有最新的erlang otp 19.3和elixir 1.4.4(使用kiex安装)。
执行mix test
我得到一个关于undefined的错误:erlzmq_nif.context/1
函数:
** (Mix) Could not start application ielixir: exited in: IElixir.start(:normal, [])
** (EXIT) an exception was raised:
** (UndefinedFunctionError) function :erlzmq_nif.context/1 is undefined (module :erlzmq_nif is not available)
:erlzmq_nif.context(1)
(ielixir) lib/ielixir.ex:13: IElixir.start/2
(kernel) application_master.erl:273: :application_master.start_it_old/4
事情就是所有依赖项都已成功安装,我可以在iex
使用:erlzmq_nif.context/1
:
iex(1)> :erlzmq_nif.context 1
{:ok, ""}
iex(2)>
我已将我的erlzmq
构建复制到/usr/lib/erlang/lib
以便我也可以在erlang中使用它:
1> erlzmq_nif:context(3).
{ok,<<>>}
2>
使用mix时,为什么elix不能看到这个lib?
我没有解决问题,我已经设法让IElixir工作。
我所做的是替换:erlzmq
在依赖mix.exs
与github: "zeromq/erlzmq"
(注意不是2
在回购名称)可能不会跑赢大市erlzmq2
因为它不是基于NIF,但至少它的工作原理没有问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.