我有一个使用混合的Elixir项目.我已经使用了一些内置的erlang模块,但现在我需要使用我在Github上找到的第三方模块.
如何从Elixir导入,构建和调用第三方Erlang模块?
编辑:我现在感兴趣的模块位于https://github.com/aggelgian/erlang-algorithms,特别是edmonds_karp模块.
在elixir中添加第三方erlang包非常容易.如果包不在Hex.pm上,那么你可以使用github url.例如mix.exs:
defp deps do
[
{:erlang_algorithms, github: 'aggelgian/erlang-algorithms'},
]
end
Run Code Online (Sandbox Code Playgroud)
然后你就可以跑了 mix deps.get
但是在您的情况下,这将失败,因为包没有应用程序文件.为了解决这个变化,上面的内容是:
defp deps do
[
{:erlang_algorithms, github: 'aggelgian/erlang-algorithms', app: false},
]
end
Run Code Online (Sandbox Code Playgroud)
然后又跑了mix deps.get.
现在您可以访问包中提供的erlang模块:
例如
:dfs.run(arg1, arg2)
Run Code Online (Sandbox Code Playgroud)