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 來編譯#