elixir 添加依赖一般都是在hex仓库中
在mix.exs的deps函数中写入
defp deps do
[
{:my_dep, "~> 0.3.0"}
]
end
#执行mix deps,get mix则会自动从hex仓库中下载该依赖的匹配版本(存在的前提下)
#同时也支持github
defp deps do
[
{:my_dep, "~> 0.3.0"},
{:my_dep, git: "https://github.com/elixir-lang/my_dep.git", tag: "0.1.0"}
]
end
那如果需要添加自己写的组件恰好该组件也不在仓库中那就只好本地全路径添加了(这里请注意一定要是完整路径)
这里添加一个erlang module 作为示列
假设我有一个erlang写的工程(erlangprojects),现在我想在新的elixir项目(elixirprojects)中用到该工程。那么首先我要将该erlangprojects工程完整拷贝进elixirprojects目录下的deps中(没有就新建),在mix.exs文件中加入
defp deps do
[
{:erlangprojects, path: "./deps/erlangprojects"}
]
end
这里路径一定要写到erlangprojects否则在执行mix deps.get时就会出现
Unchecked dependencies for environment dev:
* erlangprojects (./deps)
the dependency is not available
当然因为是erlang的项目有时可能需要在erlangprojects中手动执行rebar3 compile 来编译#