[英]How to add erlang packages into an elixir application
我正在嘗試使用edeliver
構建我的elixir應用程序的edeliver
但我收到以下錯誤。
==> Failed to build release:
Undefined applications: [xmerl]
我正在嘗試將xmerl
添加到mix.exs
文件中的deps
列表中,但我不確定如何執行此操作。
任何幫助將不勝感激。 提前致謝
這是我項目中當前的deps列表...
defp deps do
[{:phoenix, "~> 1.2.1"},
{:appsignal, "~> 1.0"},
{:phoenix_pubsub, "~> 1.0"},
{:phoenix_ecto, "~> 3.0"},
{:postgrex, ">= 0.0.0"},
{:phoenix_html, "~> 2.6"},
{:phoenix_live_reload, "~> 1.0", only: :dev},
{:phoenix_html_sanitizer, "~> 1.0.0"},
{:gettext, "~> 0.11"},
{:cowboy, "~> 1.0"},
{:earmark, "~> 1.1"},
{:comeonin, "~> 3.0"},
{:credo, "~> 0.7.2", only: [:dev, :test]},
{:timex, "~> 3.0"},
{:segment, github: "tonydaly/analytics-elixir"},
{:bamboo, "~> 0.7"},
{:bamboo_smtp, "~> 1.2.1"},
{:mock, "~> 0.2.0", only: :test},
{:faker, "~> 0.7"},
{:wallaby, "~> 0.16.1"},
{:ecto_factory, "~> 0.0.6"},
{:oxleas_adhd, in_umbrella: true},
{:plug, "~>1.3.5", override: true}
]
end
為了將來的訪客,我會在這里提出正確的答案。
mix.exs
文件應該聲明兩個回調: project
和(可選) application
。
當項目要作為應用程序運行時使用后者,並且超出了此問題的范圍。 前者必須返回一個關鍵字列表,描述當前的Mix.Project 。 此關鍵字列表可能顯然包含deps
關鍵字,以返回此項目的依賴項列表。 這些依賴關系將由mix
工具半自動管理(提取,重建等)。
默認情況下, mix new
task為project
回調生成一個腳手架,返回此列表,如:
def project do
[
app: :blah,
version: "0.1.0",
elixir: "~> 1.7-dev",
start_permanent: Mix.env() == :prod,
deps: deps() # ⇐ HERE
]
end
如果一個人會堅持使用建議的腳手架,他們應該實現私有函數deps
(見上最后一行。)
如果您有一個依賴項,只需在原地進行:
def project do
[
app: :blah,
version: "0.1.0",
elixir: "~> 1.7-dev",
start_permanent: Mix.env() == :prod,
deps: [{:exmerl, "~> 0.1"}] # ⇐ HERE
]
end
def deps do
[
{:xmerl, "~> 1.3.16"}
]
end
你必須取得deps,
$ mix deps.get
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.