如何从 Elixir 调用 3rd 方 Erlang 模块?
How to call 3rd party Erlang module from Elixir?
我有一个使用 mix 的 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
那你就可以运行mix deps.get
但是在您的情况下,这将失败,因为该包没有应用程序文件。要解决此问题,请将以上内容更改为:
defp deps do
[
{:erlang_algorithms, github: 'aggelgian/erlang-algorithms', app: false},
]
end
然后再运行 mix deps.get
.
现在您可以访问包中可用的 erlang 模块:
例如
:dfs.run(arg1, arg2)
我有一个使用 mix 的 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
那你就可以运行mix deps.get
但是在您的情况下,这将失败,因为该包没有应用程序文件。要解决此问题,请将以上内容更改为:
defp deps do
[
{:erlang_algorithms, github: 'aggelgian/erlang-algorithms', app: false},
]
end
然后再运行 mix deps.get
.
现在您可以访问包中可用的 erlang 模块:
例如
:dfs.run(arg1, arg2)